第一章
软件缺陷:
:::info
软件缺陷是软件(程序、文档、数据)中不希望或不可接收的偏差。bug是口语化的缺陷。
缺陷在没有激活的状态下,软件可以正常运行。
一旦在某一触发条件下,缺陷被激活,软件内部就会出现故障
:::
软件测试的定义:
:::info
软件测试是为了发现错误而执行程序的过程,
是软件质量的度量,目的是为了发现软件中的缺陷,包括但不止程序代码,还包括软件相关的交付件
:::
软件测试的目标:
:::info
1.寻找软件中的缺陷
2.为了获得更高质量的软件(因为发现了缺陷,就会更好地改进)
3.在可允许的时间和可管理的工作量的条件下,尽可能多地寻找软件中的缺陷
:::
软件测试的方法:
软件测试工程师的目标:
:::info
尽可能早地发现软件中缺陷并确保缺陷被正确的修改
:::
测试用例是什么:
:::info
针对被测试项的测试输入、执行条件和预期结果的集合
:::
高质量测试用例的四个属性:
:::info
有效性
发现缺陷的能力
仿效性
衡量测试用例的代表程度
经济性
测试所花费的成本
可维护性
修改和维护测试用例的成本
:::
软件测试工程师职业道德规范:
:::info
恪守职业道德,始终维护所在组织的利益
具备团队精神,团队内部相互帮助
具备诚实的品德,实事求是;不伪造数据,对缺陷不夸大其词
良好的沟通能力
始终秉持任何软件都存在缺陷的工作态度
认真负责仔细耐心
只要是缺陷,无论大小,一定要上报
报告不可重现的缺陷
不断充实专业知识
:::
第二章
静态测试的定义:
:::info
通过检查和评审软件而不是运行软件,对软件进行测试的方法
:::
静态测试的对象:
:::info
各种与软件相关的有必要进行测试的产物,如各类文档、源代码等
:::
静态测试的方法:
:::info
1.评审
对软件元素或项目状态进行评估的活动,用以确定与预期结果之间的偏差和相应的改进条件
通常由人来执行
2.静态分析
被测程序进行特性分析的一些方法的总称
通常由工具辅助进行
:::
审查的六类角色
:::info
审查对象
作者
审查组长
审查专家
读者
记录员
:::
审查的七个步骤:
:::info
1.计划
2.总体会议
3.准备
4.会议
5.返工
6.跟踪
7.因果分析
:::
审查的规则:
第三章
黑盒测试的6个方法:
:::info
1.等价类划分
2.边界值分析
3.决策表
4.错误猜测法
5.场景法
6.正交实验法
:::
等价类划分的思想:
:::info
在进行测试用例设计是,以具有相同预期结果为等价类划分的原则,将系统的测试域划分为不同的等价类集合,从中选出代表作为测试用例,以达到尽可能完备的同时又可避免冗余的测试
:::
等价类划分的步骤:
:::info
1.划分等价类
2.为每一个有效等价类、无效等价类规定一个唯一的编号
3.设计一个测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类,重复这一步,直至所有有效等价类都被覆盖
4.设计一个测试用例,使其只覆盖一个无效等价类,重复这一步,直至所有无效等价类都被覆盖
:::
等价类划分的5个经验原则:
等价类划分的四个标准:
边界值测试思想:
:::info
取边界值临近的点作为测试用例的输入
:::
边界值遵循的原则:
边界值分类:
决策表的定义:
:::info
决策表由4个部分组成,条件桩,动作桩,条件项,动作项
:::
决策表设计测试用例步骤:
场景法的定义:
:::info
根据需求规格说明书中的用例所包含的用例所包含的事件流信息设计场景,并设计测试用例,使配个场景至少执行一次
:::
场景法的步骤:
:::info
针对每个用例,构造用例的所有场景
针对每个场景,至少设计一个让场景发生的用例
为每一个测试用例选择相应的测试输入
:::
正交表的选择:
第四章
基本路径的概念:
:::info
本质上是从程序入口到出口的一些通路。之所以称其为基本路径,原因在于可以通过对基本路径进行连接或者重复操作得到程序中的其它路径
:::
控制流图的概念:
:::info
对基本路径的节点全部转变为相同节点,得到控制流图
控制流图是由节点和边组成的有向图
:::
基本路径测试步骤:
:::info
1.根据模块构建控制流图
2.计算控制流图环形复杂度
3.列出包含起始节点和终止节点的基本路径
4.检查基本路径数是否超过环形复杂度
5.根据基本路径设计测试用例
:::
环形复杂度计算公式:
分支条件测试思想:
:::info
对于测试用例,要求每一个复合条件以及符合条件的每一个简单条件的真假值,至少执行一次
:::
循环测试思想:
:::info
关注循环体结构的正确性,使用类型边界值的测试方法来测试循环结构的正确性
:::
循环测试的类别:
:::info
简单循环
嵌套循环
连接循环
非结构循环
:::
数据流测试:
:::info
根据被测模块中变量的定义和使用位置,构造其定义–使用路径设计相应的测试用例
:::
覆盖准则
:::info
1.语句覆盖
指设计若干测试用例,使得程序中的每个可执行语句至少执行一次。
2.分支覆盖
指设计若干测试用例,使得程序中每个分支的真假结果至少被出现一次。
3.条件覆盖
程序中的每条语句至少被执行一次(满足语句覆盖)
并且构成分支中的每一个条件的真假值至少出现一次
4.分支-条件覆盖
程序中的每条语句至少被执行一次,
构成分支中的每一个条件的真假值至少出现一次,
每个分支本身的真假值也至少出现一次
5.多条件覆盖
程序中的每条语句至少被执行一次,
并且每个条件的所有可能结果的组合至少出现一次
6.路径覆盖
路径覆盖是指设计足够多的测试用例,使得程序中所有可能的路径至少被遍历一次
:::
第九章
性能测试的定义
:::info
是一个综合性的测试活动,通常包括一系列与被测系统性能相关的互相关联互相包含的测试活动,如常规的性能测试、负载测试、压力测试、并发测试、强度测试、大数据量测试等
:::
性能测试的目的
:::info
在于优化最重要的应用程序性能指标,提高用户体验的满意
:::
next Day案例