定义:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
测试的目的:以最少的人力,物力和时间找出软件中潜在的各种错误与缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险
软件测试的原则1:
1、所有的测试都应追溯到用户需求(视频网站,点击后最大化)
2、应当把“尽早和不断地测试”作为座右铭
3、测试工作应该由独立的专业的软件测试机构来完成
4、Pareto原则,测试发现的错误中80%很可能起源于20%的模块中
5、设计测试用例时,应该考虑各种情况
6、对测试出的错误结果一定要有一个确认的过程(描述缺陷报告)
7、制定严格的测试计划
8、完全测试是不可能的,测试需要终止
9、注意回归测试(见下一页)的关联性
10、妥首保存一切测试过程文档
软件测试的原则2:
1.测试证明软件存在缺陷:无论执行怎样的测试操作都不能证明当前软件是有缺陷的。
2.不能执行穷尽测试:有些功能是无法将所有的测试情况都罗列出来,所以任何的操作都有结束的时间。
3.缺陷存在群集现象:对于软件功能来说,【28理论】核心功能只占20%,非核心内容占80%,在实际工作当中,我们会集中测试20%的核心内容,所以这个部分发现错误的几率会大于80%,因此我们就会遇到缺陷都集中在这20%功能模块里的现象。
4.某些测试需要依赖特殊的环境:eg:电池的适应温度,天气环境
5.测试应该尽早介入:为了更多的发现和更好的解决软件中的缺陷,我们追求测试工作尽早的开展。
6.杀虫剂现象:同样的一个测试用例不能重复使用多次,因为软件会产生免疫。
7.不存在缺陷谬论:任何软件不可能是完美的。
回归测试:指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。