软件测试基础知识学习
一、软件测试与质量概述
1、软件测试的定义(以需求为中心)
软件测试是以人工方式或者通过使用工具来自动化运行软件系统或静态检查被测系统的过程,就是验证软件是否满足用户需求或者是通过设计和运行测试用例来判断软件实际输出与预期输出是否一致。
测试目标
在最短时间内,找到最严重】最多的缺陷,最大程度地保证产品符合已知用户需求。
2、软件缺陷的定义
软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好,则是缺陷。
3、测试用例的定义
4、软件测试分类
从测试阶段或对象角度分类
单元测试
集成测试
系统测试
验收测试
从测试技术的角度分类
白盒测试
黑盒测试
灰盒测试
5、软件质量的定义
二、黑盒测试技术
1、概述
只知道系统输入和预期输出,不需要了解程序内部结构和内部特性的测试方法就成为黑盒测试。
2、边界值测试
边界的寻找
最低为100,因为每月最少销售一支完整步枪;
最大为7800,即将所有供货枪支全部出售
3、等价类测试
等价类的划分
等价类划分的步骤 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c9a960ab1292439ab0a72552622065bc.png)
4、基于场景的测试
5、决策表测试
6、组合测试
6.1 正交表测试
成对测试工具(如PICT可以利用输入条件和每个条件的不同输出值生成测试组合)![](https://i-blog.csdnimg.cn/blog_migrate/e08f792d2d8e7aa4ba7ca75ccbc3d325.png)
三、白盒测试技术
控制流分析技术
逻辑覆盖测试(对判定的测试)
1、基本测试原则
对程序中所有的逻辑值均需要测试真值和假值的情况
2、主要问题
选择合适的覆盖指标,有效控制测试用例规模,提高测试用例典型性,最大限度避免测试漏洞
3、例子
4、覆盖指标
1、语句覆盖
2、判定覆盖
3、条件覆盖
4、判定条件覆盖(设计测试用例有难度)
5、条件组合覆盖
6、修正的判定/条件覆盖
路径测试
1、程序图
2、环复杂度
3、从路径看场景测试(场景图是功能层面的程序图)
测试管理及工具
测试用例报告的组成
缺陷的属性
、
缺陷报告