一、软件测试分类
按测试阶段划分(4种):
单元:也叫模块测试。针对软件设计中最小单位(模块)进行正确性检查。
集成:在单元的基础上,将各个独立的小模块连在一起。也称为组装测试
系统:把整个系统看作一个整体,依据软件需求说明书
验收(3种):
①Alpha测试,内测版本,通常只在开发者内部交流,bug较多,普通用户最好不要安装
②Beta测试,公测版本,对所有用户开放的测试版本,通过一些专业爱好者的测试,将结果反馈给开发者,
③Gamma测试,正式发布的候选版本
按是否覆盖源代码划分(3种):
黑盒:又称数据驱动测试,关注业务逻辑,不考虑程序内部结构和内部特性(不看代码),只关心软件的输入数据和输出数据
白盒:研究源代码和程序结构
灰盒:介于黑白之间,又把代码,又把程序打开
软件测试的测试策略
冒烟测试:最基本功能的测试,保证基本的功能和流程能走通
回归测试:修复一个BUG后,把之前的测试用例用在新的代码下进行再次测试
随机测试:重要功能进行复测,包括当前测试用例没有覆盖到的部分2
探索性测试:同时设计测试和执行测试,测试人员通过测试来不断学习测试系统
二、软件缺陷(bug)
指软件或程序中出现的各种问题及错误,导致产品不能满足用户需求
缺陷的判定标准:
①软件未达到需求规格说明书中标明的功能
②软件出现了需求规格说明书指明不会出现错误的地方
③软件功能超出了需求规格说明书指明的范围
④软件未达到需求规格说明书虽未指明但应该达到的目标
⑤测试人员认为软件难以理解,不易使用,运行速度慢,或者最终用户体验不好
软件缺陷产生的原因
①需求解释、记录或者定义错误
②设计文档说明存在错误或者拼写错误
③编码说明、程序代码有误
④硬件或者软件系统中存在错误
软件缺陷的类型
①功能错误
②界面错误(显示页面)
③兼容性错误(浏览器、操作系统等)
④易用性问题(用户体验)
⑤改进建议
三、测试原则
①只能证明软件存在问题,不能证明不存在问题
②不能进行穷尽(穷举)测试,应该分类别测试
③测试工作要尽早介入,降低修复成本
④缺陷存在集群现象,二八原则:20%的模块中存在80%的缺陷
⑤测试依赖环境(操作系统CS、浏览器BS)
⑥杀虫剂现象(测试人员之间交换项目)
⑦不存在缺陷谬论
四、测试用例
定义:为了特定目的而设计的一组测试输入、执行条件和预期结果的文档。
作用:
- 便于理清测试思路,确保需覆盖测试的功能点无遗漏
- 便于测试工作量的评估
- 便于提前准备测试数据
- 便于把控测试工作进度
- 便于回归测试
- 便于测试工作的组织,提高测试效率,降低测试交接成本