当前位置: 首页 > news >正文

测试3.测试方法的分类

3.测试分类

系统测试包括回归测试和冒烟测试

回归测试:修改了旧的代码后,重新测试功能是否正确,有没有引入新的错误或导致其它代码产生错误

冒烟测试:目的是确认软件基本功能正常,可以进行后续的正式测试工作

按是否查看代码

白盒(结构测试、逻辑驱动测试):要查看代码,对代码测试,结构测试

黑盒(功能测试):不用查看代码,对功能进行测试 ,看是否符合用户需求

灰盒:介于黑盒白盒,多用于集成测试

按测试对象

业务测试、界面测试、容错性测试、文档测试、

兼容性测试(平台、浏览器、与其他相关软件是否兼容、向前先后兼容)、

性能测试:响应时间、吞吐量、执行间隔等、

内存泄露测试原因:

分配完内存之后没有回收
程序写法有问题,没办法进行回收
某些API函数的使用不正确,造成内存泄露
没有及时释放

3.1.单元测试、集成测试、系统测试的区别“

单元测试

单元测试是对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性,测试的对象是软件设计的最小单位:函数、或者类。通常情况下是白盒的,一般由开发人员测试.能够尽早的发现错误,降低修改成本。

集成测试

集成测试也称综合测试、组装测试、联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。其主要目的是检查软件单位之间的接口是否正确,集成测试的对象是已经经过单元测试的模块。

系统测试

系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方,主要包括功能测试、界面测试、可靠性测试、易用性测试、性能测试。 功能测试主要针对包括功能可用性、功能实现程度(功能流程&业务流程、数据处理&业务数据处理)方面测试。在集成测试之后。 在系统实际运行环境下来进行测试。

三者区别

  • 粒度不同:
  - 单元测试粒度最小,测试的是软件的基本模块或接口- 集成测试粒度居中,测试的是集成各个单元模块之间的接口- 系统测试粒度最大,测试的是 整个系统的功能和性能
  • 测试方式不同:
  - 单元测试一般由开发小组采用白盒方式来测试;- 集成测试一般由开发小组采用白盒加黑盒的方式来测试;- 系统测试一般由独立测试小组采用黑盒方式来测试。 
  • 测试内容不同:
  - 单元测试主要测试单元是否符合“设计”;- 集成测试既验证“设计’,又验证“需求”;偏技术- 系统测试主要测试系统是否符合“需求规格说明书”,偏业务
  • 使用阶段不同:
  - 单元测试为开发人员在开发阶段要做的事情;- 集成测试和系统测试为测试人员在测试周期内级层做的工作。 

3.2 验收测试

也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。

验收测试包括alpha测试和beta测试,alpha测试是由开发者进行的软件测试,beta测试是由用户在脱离开发环境下进行的软件测试。

3.3 白盒和黑盒的区别

  • 白盒测试

  • 白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,

    • 常见的白盒测试的方法有:语句覆盖,条件覆盖,判定覆盖,条件组合覆盖,基本路径覆盖等等。
  • 优点:可以检测代码的每条分支和路径;可以揭示隐藏在代码中的错误;对代码的测试比较彻底。

  • 缺点:耗费比较大;不能检测到代码中遗漏的逻辑;不能直接验证需求的正确性

  • 黑盒测试

  • 黑盒测试用例设计方法:基于用户需求的测试、等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验法、场景法。依据是用户需求规格说明书,详细设计说明书

    • 黑盒测试也称功能测试或数据驱动测试,它不看代码内部的逻辑,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
  • 优点:容易实施,不需要关注内部实现;贴近用户需求。

    • 缺点:覆盖率比较低,因为不知道内部逻辑

3.4 性能测试关注啥

指标:响应时间(RT)、每秒能完成的响应数(TPS)、CPU利用率、内存占用、网络(带宽使用率)、手机app的话还考虑耗电量……

考虑负载加大时,各项指标如何变化,联网的考虑各种不同的网络环境(正常网、超快网、网速慢、断网)时指标的变化

3.5 压力测试关注啥

​ 通常要进行软件压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽。

3.6并发用户数和在线用户数的区别

在线用户数:用户同时在一定时间段的在线数量

并发用户数:某一时刻同时向服务器发送请求的用户数

(在线用户只要在线就好了,并发用户计算的是和服务器有交流的用户,一般比例5%-20%)

3.7 其他测试的类型

功能测试:关注功能正常(包含兼容性测试),除了下面分类都测;

性能测试:关注(比如前端性能、后端性能);

安全测试:关注传输、存储等安全;

特性测试:特性指平台差异(即部分兼容性测试),如PC端鼠标,键盘操作特性(Tab键等);如手机触屏操作,横竖屏,中断恢复(来电)等

3.8 如何开展第一次测试

1.学习项目所有的文档

2.参加所有会议

3.了解公司的项目管理工具

4.学习用例、缺陷书写规范,工具的使用规范

5.积极主动和负责人以及项目组的人员沟通

3.9 提交一个BUG研发人员不认可怎么办

(1)自查,是否bug描述不清楚 (2)检查缺陷级别。定级要有理有据

(3)让研发站在用户的角度了解bug可能给用户造成的困扰

(4)提高自身的业务水平和技术能力,最好能提出解决方案

(5)好好沟通,不要争吵

(6)需求变更

(7)寻求第三方的帮助,发起Bug评审。

4. Web和 APP测试的区别


App测试和Web测试的区别

1.首先是web和APP的区别:

- web是b/s架构的,基于浏览器;-APP是c/s架构的,必须要有客户端。那么在系统测试测试的时候就会产生区别了。 - Web测试中只要更新了服务器,客户端就会同步更新,而且保证每个用户用的客户端一样;- App就不能保证完全一致,因为App客户端需要用户主动更新.-如果App测试中修改了服务器,就意味着客户端用户使用的所有核心版本都要进行回归测试  

2.性能方面:

- web主要看响应速度,响应时间;
-  App还看电量、流量、CPU、GPU(图形处理器)、内存…  

3.兼容方面:

web基于浏览器,主要看电脑硬件、电脑系统、浏览器(主要)方面的兼容,选择不同浏览器内核进行测试IE\Chrome\Firefox;App依赖于手机或平板,关注的系统主要是安卓和ios,还要关心分辨率、屏幕尺寸  

4.App比web测试多一些专项测试:

  - 相比较web测试,app更是多了一些专项测试:弱网测试,安装、卸载、更新,界面操作、触摸手势等   - 一些异常场景的考虑以及弱网络测试。这里的异常场景就是中断,来电,短信,关机,重启等。- 而弱网测试是App测试中必须执行的一项测试。包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。需要测试丢包,延时的处理机制。避免用户的流失。
- 安装、卸载、更新:
      - web测试是基于浏览器的所以不必考虑这些。而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件,更新的强制更新与非强制更新、增量包更新、断点续传、弱网,卸载后删除App相关的文件等等。 
- 界面操作
      - 现在app产品的用户都是使用的触摸屏手机,所以测试的时候还要注意手势,横竖屏切换,多点触控,事件触发区域等测试。

4.1请你讲讲怎样进行web测试

5.测试一款产品/一个功能


(角度)

功能:

性能:响应速度、CPU占用,联网的话考虑多用户并发/弱网环境,app的话考虑耗电量

易用性

兼容性:多平台/多系统/多版本

安全:用户名密码有没有保存功能,数据往服务器传是不是加密的,有没有防止一些脚本或者SQL注入攻击

UI:符合大众期望,有无错别字,排版和颜色搭配

稳定性:压力测试、极端条件测试

(查看产品的使用说明书)

6.软件质量模型的6大特性:


功能性,可靠性,易用性,效率,维护性,可移植性

-功能性:用户要求的功能是否正确实现
-可靠性:在规定的时间和条件下。软件维持性能水平的程度
-易用性:对用户使用的友善性,使用是否方便
-效率性:能否在完成功能的同时,节约资源
-可维护:当需求改变或软件环境发生改变时,对软件修改的难易程度
-可移植:从一个计算机系统或环境移动到另一个计算机系统或环境的难易程度

7. selenium流程、获取元素方法


先import,然后webdriver模拟打开一个浏览器(初始化),获取特定的网址,然后通过获取元素模拟鼠标点击页面上的按钮(或者其他动作,比如在特定的文本框输入特定的内容),(最后quit()一下)

获取元素方法:xpath,css选择器,文本内容……等等,比如find_element_by_xpath、find_element_by_css_selector、find_element_by_link_text

8.自动化测试和手工测试的区别


9. selenium的特点


1.多平台:Firefox \Chrome\edge(MS)、IE\Safari

2.多语言:Java \python\C\C#\ruby

selenium工具集

selenium1: selenium IDE,selenium RC,selenium Grid

selenium2:selenium1+webdriver 相当于出租车司机

selenium3:做了一些更新,增加了edge和Sarafi原生驱动

3.自动化适合什么样的项目:

接口自动化:功能稳定

​ 时机:后台开发完成就可以做接口自动化

Web自动化:功能稳定,界面元素稳定

​ 时机:前后台都开发完成

关闭浏览器:

close:仅仅关闭浏览器

quit:关闭浏览器,清除占用的资源,释放session

10.重要参数

10.1 QPS(每秒查询率)

QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准

用来衡量服务器的机器性能。

10.2 QPS和TPS的区别

TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。

是软件测试结果的测量单位。

10.3系统吞吐量

​ 是指单位时间内,系统处理用户的请求数或页面数量,可以直接反映出软件的承载能力。一般来说,利用每秒钟的请求数或页面数量衡量吞吐量;从业务的角度来看,也可以用每天的访问人数或每小时处理的业务数来衡量。

相关文章:

测试3.测试方法的分类

3.测试分类 系统测试包括回归测试和冒烟测试 回归测试:修改了旧的代码后,重新测试功能是否正确,有没有引入新的错误或导致其它代码产生错误 冒烟测试:目的是确认软件基本功能正常,可以进行后续的正式测试工作 按是否…...

Android 基础知识4-2.9 FrameLayout(帧布局)详解

一、FrameLayout(帧布局)概述 FrameLayout又称作帧布局,它相比于LinearLayout和RelativeLayout要简单很多,因为它的应用场景也少了很多。这种布局没有方便的定位方式,所有的控件都会默认摆放在布局的左上角。 示例1代…...

Go语言xorm框架

xorm xorm是一个简单而强大的Go语言ORM库通过它可以使数据库操作非常简便。 官网: https://xorm.io/ 中文文档: https://gitea.com/xorm/xorm/src/branch/master/README_CN.md 特性 支持 Struct 和数据库表之间的灵活映射,并支持自动同步事务支持同时支持原始SQL…...

19_微信小程序之优雅实现侧滑菜单

19_微信小程序之优雅实现侧滑菜单一.先上效果图 要实现这样一个效果,布局其实很简单,整体布局是一个横向滚动的scroll-view,难点在于怎么控制侧滑菜单的回弹,以及寻找回弹的边界条件? 此篇文章主要是基于uni-app来实现的&#xf…...

JSP中JDBC与javaBean学习笔记

本博文源于博主偷偷复习期末的java web,博文主要讲述JDBC API与JavaBean,涉及driver,driver Manager\connection、statement接口、PreparedStatement接口、ResultSet接口,JavaBean包含一些标记介绍。 1.JDBC API JDBC由一组接口和类组成&am…...

编译Android系统源码推荐的电脑配置

工欲善其事,必先利其器。 看到很多客户,搞Android产品开发,用的电脑配置是惨不忍睹。 这些老板脑子有坑吗... ------------ 编译Android9推荐电脑配置: 处理器:酷睿i7 5代系列 8线程以上 内存: 8GB以上…...

加油站会员管理小程序实战开发教程10

上一篇我们介绍了计算距离及到店导航的功能,本篇我们介绍一下今日油价的功能。 如果要按日显示最新的数据,那么我们首先需要有数据源来存放每日的油价数据。这里涉及数据源的时候要考虑你的数据是只录入一条,还是每日录入一条。 录入一条呢,比较简单,但有个问题是如果我…...

shell编程之条件判断和流程控制

typora-copy-images-to: pictures typora-root-url: …\pictures 文章目录typora-copy-images-to: pictures typora-root-url: ..\..\pictures本节课程目标一、条件判断语法结构2. 条件判断相关参数㈠ 判断文件类型㈡ 判断文件权限㈢ 判断文件新旧㈣ 判断整数㈤ 判断字符串㈥ 多…...

第一次接触jquery

文章目录一.关于jqurey二.什么是jqurey三.上课实例1.表格 2.鼠标移动效果 3隐藏和显示效果代码如下注意一.关于jqurey 简而言之:jQuery 是一个 JavaScript 库。 jQuery 极大地简化了 JavaScript 编程。 二.什么是jqurey jQuery 是一个 JavaScript 函数库。 jQu…...

Vue中 引入使用 babel-polyfill 兼容低版本浏览器

注意:本文主要介绍的 vue-cli 版本:3.x, 4.x; 最近在项目中使用 webpack 打包后升级,用户反馈使用浏览器(chrome 45)访问白屏。经过排查发现:由于 chrome 45 无法兼容 ES6 语法导致的…...

ArcGIS Enterprise on Kubernetes 11.0安装示例

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录安装前置条件基本安装解压文件生成秘钥执行安装脚本配置DNS方法一方法二…...

js 防抖函数 节流函数

某些事件中(如 onresize onscroll onkeydown onkeyup onmousemove …),会连续触发函数的执行,如果函数执行一些耗时的操作(如请求数据…),会影响性能,也有可能造成服务器压力。这时可以用 防抖函数 或 节流函数解决这种问题。 防…...

Yarn节点unhealthy解决办法

这几天用Spark计算任务时,发现yarn上有两个节点不参与计算,很是tm的离谱。使用下面的命令查看Yarn上的nodemanager节点状态yarn node -list -all发现两个节点处于unhealthy状态。经过Google查明原因:这种情况一般是因为那个节点上HDFS文件过多…...

【jumpServer 功能梳理】

用户管理 1.1 用户列表 创建jumpServe 账号 ;角色分为用户 管理员;更新账号信息;查看用户详情以及授权的资产; 1.2 用户组 用户组,这个组的意义在于用一个统称对接资源;用户组包含多个用户,可以操作增加删除…...

中国各省人力资本测算就业人员受教育程度构成(2000-2021年)

数据来源:自主整理 时间跨度:2000-2021年 区域范围:全国各省 指标说明: 人力资本测算公式:(小学*6初中*9高中*12大专及以上*16)/六岁及以上人口 参考文献: [1]罗仁福, 刘承芳,…...

java面试题-集合篇

Collection1.Collection有哪些类?Java集合框架中的Collection接口是所有集合类的基础接口,定义了一些基本的集合操作,如添加元素、删除元素、判断是否包含某个元素等。常见的集合类包括List、Set和Queue。ListList接口定义了按照索引访问和操…...

Python 异步: 同时运行多个协程(10)

asyncio 的一个好处是我们可以同时运行许多协程。这些协同程序可以在一个组中创建并存储,然后同时一起执行。这可以使用 asyncio.gather() 函数来实现。 让我们仔细看看。 1. 什么是 Asyncio gather() asyncio.gather() 模块函数允许调用者将多个可等待对象组合在一…...

SVN 获取多版本间的更新内容

文章目录背景介绍操作步骤 - 获取某段时间内的代码更新内容背景介绍 公司有个项目期初明确要做微信小程序,没有做其他端的意向,并且当时团队人数有限,没有项目实践过 uniapp,项目时间周期紧,就没有用 uniapp 去实现 然…...

c++ const使用说明

作⽤ 1. 修饰变量,说明该变量不可以被改变; 2. 修饰指针,分为指向常量的指针和指针常量; 3. 常量引⽤,经常⽤于形参类型,即避免了拷⻉,⼜避免了函数对值的修改; 4. 修饰成员函数…...

VSTO 开发 EXCEL 委托与多线程的极简示例

VSTO 开发 EXCEL 委托与多线程的极简示例问题解决步骤代码问题 这几天做 excel 加载项时遇到一个问题,对话框弹窗显示后,需要等待网络数据的返回来填充 ListBox 控件,由于网络延迟问题,整个窗体连带 Excel 一起白屏卡顿 5-10秒&a…...

spring之使用Spring的AOP

文章目录前言一、准备工作1、添加相应的依赖2、添加相应的命名空间3、创建目标类4、创建切面二、使用AOP1.在切面类中编写增强代码以及切点表达式2、开启aspectj的自动代理3、测试类4、测试结果前言 Spring对AOP的实现包括以下三种方式 1、Spring框架结合AspectJ框架实现的AOP…...

LeetCode LCP 66. 最小展台数量

力扣嘉年华将举办一系列展览活动,后勤部将负责为每场展览提供所需要的展台。 已知后勤部得到了一份需求清单,记录了近期展览所需要的展台类型, demand[i][j] 表示第 i 天展览时第 j 个展台的类型。 在满足每一天展台需求的基础上,…...

设计模式之模板方法模式

什么是模板方法模式 模板方法模式定义了一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构就可以重定义该算法的某些特定步骤。     模板方法模式主要包含几下几个角色:         AbstractClass(抽…...

Python数据挖掘基础

一、Matplotlib 画二维图表的python库,实现数据可视化 , 帮助理解数据,方便选择更合适的分析方法1、折线图1.1引入matplotlibimport matplotlib.pyplot as plt %matplotlib inlineplt.figure() plt.plot([1, 0, 9], [4, 5, 6]) plt.show()1.2…...

Go基础-函数

文章目录1 定义2 参数的写法3 返回值的写法4 空白符1 定义 函数是将输入数据通过一系列算法运算之后,输出对应的结果。函数一般都是一些特定的功能块,实现某一种功能的封装,降低代码的冗余性 语法 // 关键字 函数名 函数参数 返…...

AC的改进算法——TRPO、PPO

两类AC的改进算法 整理了动手学强化学习的学习内容 1. TRPO 算法(Trust Region Policy Optimization) 1.1. 前沿 策略梯度算法即沿着梯度方向迭代更新策略参数 。但是这种算法有一个明显的缺点:当策略网络沿着策略梯度更新参数&#xff0c…...

【C++学习】list的使用及模拟实现

🐱作者:一只大喵咪1201 🐱专栏:《C学习》 🔥格言:你只管努力,剩下的交给时间! list的使用及模拟实现😼构造函数🐵模拟实现😼迭代器🐵…...

动态规划专题精讲1

致前行的人: 要努力,但不要着急,繁花锦簇,硕果累累都需要过程! 前言: 本篇文章为大家带来一种重要的算法题,就是动态规划类型相关的题目,动态规划类的题目在笔试和面试中是考察非常高…...

PPO(proximal policy optimization)算法

博客写到一半发现有篇讲的很清楚,直接化缘了 https://www.jianshu.com/p/9f113adc0c50 Policy gradient 强化学习的目标:学习到一个策略πθ(a∣s)\pi\theta(a|s)πθ(a∣s)来最大化期望回报。 一种直接的方法就是在策略空间中直接搜索来得到最优策略&…...

ElasticSearch基本使用

title: ElasticSearch基本使用 date: 2022-08-29 00:00:00 tags: ElasticSearch基本使用 categories:ElasticSearch 基本概念 随着ES版本的升级,文中有些概念可能已经废弃。 索引词(term) 一个能够被索引的精确值,区分大小写,可以通过term查…...

做其他国家语言网站/什么平台可以做引流推广

一、最小公倍数(LCM) 最小公倍数输入的两个数之积除于它们的最大公约数(a*b/最大公约数),关键是求出最大公约数; 二、最大公约数(GCD) 1.辗转相除法/欧几里得算法 定义&#xff…...

淄博网站制作设计高端/seo点击器

1、本地Docker镜像发布到阿里云的Docker Hub 参考本地Docker镜像发布到阿里云的Docker Hub 2、创建镜像仓库 地址&#xff1a;https://cr.console.aliyun.com/cn-hangzhou/repositories 本地测试的话&#xff0c;选择本地仓库 3、jib的pom.xml配置 <build><plugin…...

南通网站建设找哪家好/抖音优化公司

author &#xff1a;skatetime&#xff1a; 2009/02/21 最近在两台数据库的同步的时侯&#xff0c;经常遇到如下的错误&#xff0c;下面是对这个问题解决总结: ORA-02085 错误解决2008-12-04 13:30程序报错: ORA-02085: database link WD2YT_ERATING.LK connects to ESUITE.N…...

给企业做网站的公司/知乎营销推广

2019独角兽企业重金招聘Python工程师标准>>> $img $goods_info[goods_desc];//正则匹配获取img src属性中的地址$reg_tag <img.*?src"(.*?)">;preg_match_all($reg_tag,$img,$goods_info_img, PREG_SET_ORDER);// 处理urlforeach ($goods_info_…...

自己做一个网站一年的费用/seo搜索引擎工具

首先做一个窗体如下 然后单元中如下代码&#xff1a; 在implementation下面声明两个方法如下&#xff1a; //外部方法&#xff0c;只声明一个参数&#xff0c;此时按照标准的对象内部事件方法TNotifyEvent声明,此声明中&#xff0c;Sender则对应为产生该事件的对象指针。…...

昆明小程序开发联系方式/莱阳seo排名

txt文件小 #coding:utf-8fname为所读xx.txt文件 输出为&#xff1a;文件第一行和最后一行 fname test.txt with open(fname, r) as f: #打开文件 lines f.readlines() #读取所有行 first_line lines[0] #取第一行 last_line lines[-1] #取最后一行 print 文件 fname 第一…...