本系列文章为笔记,内容根据北京大学《软件工程》MOOC
软件测试的概念
软件测试的定义 检测和评价软件以确定其质量的过程和方法,即评价软件过程序的属性和能力,以确定它是否满足所需结果的过程与方法。
软件测试可分为静态分析和动态测试
- 进行静态分析时,不必运行软件,通过源码进行分析
- 动态测试通过输入样例(测试用例)来执行软件,一般分为功能测试(黑盒)以及结构测试(白盒)
软件测试的目标
- 预防错误
- 发现错误
- 软件未达到产品说明书标注的功能
- 产品出现了产品说明书指明不会出现的错误
- 软件功能超出了产品说明书的范围
- 软件未达到产品说明书虽未指明但应达到目标
- 测试人员认为难以理解、不易使用、运行缓慢、或最终用户认为不好
测试与调试的区别 调试:发现编写中的错误,确定错误位置并加以排除,分为:
- 确定问题性质并找到错误在软件中的位置
- 修正这一错误
主要区别
- 测试是为了找出“失败”,而调试是为了保证“正确”
- 测试是从已知条件开始,到达预知的结果。而调试一般结果是不可预见的
- 测试是有计划的,并要进行设计;调试没有约束
- 测试是发现错误、改正错误、重新测试的过程,调试是一个推理过程
- 测试的执行是有规律的,调试往往需要一定的“思维跳跃”
- 测试经常是由独立的测试组完成的,调试则是由开发完成
- 大多