版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cx243698/article/details/84957222
问题
需要学什么?软件测试的含义?测试对象?测试遵循的准则?测试分类,分类的区别?何时开始测试?测试方案如何设计?测试流程?如何提Bug?如何写报告?为什么要做自动化测试,怎么做?
定义
早期定义
软件测试是对程序能够按预期运行建立起一种信心。(Bill Hetzel,1973)
经典定义
测试是为发现错误而执行程序的过程(Myers,1979)
IEEE定义(ISO/IEC/IEEE 29119)
使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出于预期结果之间的差异。
测试对象
仅仅是程序本身?答案是NO,测试对象应该是整个软件生命周期的方方面面!包括软件概要设计、详细设计、运行环境、
程序本身、需求、源码等等。
要素和目标
质量、人员、资源、流程、技术(要素)
最核心的是软件质量,其他是为质量服务。人是决定因素,技术是手段,流程即规范性,资源即测试的环境、测试数据等。
测试覆盖率和测试效率(目标)
原则
1、测试显示缺陷的存在,但不能证明系统不存在缺陷。
2、穷尽测试不可能的,应设置即时终止的条件
3、测试应尽早进行
4、缺陷具备群集特性(发现多的模块,要注意)
5、杀虫剂悖论(因此测试方法要定期修改,发现更多的问题)
6、测试二八原则(80%的时间用在20%的重点模块,达到最佳效率)
7、测试活动依赖于测试背景