软件测试
软件测试的定义:使用人工或自动的手段,来运行或测试某个系统的过程。
软件测试的意义:
1.解放程序员和售后服务人员。
2.推动了软件工程的发展,
使软件的质量得到了阶段性的提升。
软件测试的目的:
1.确保铲平完成了它承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明
2.确保产品满足性能和效率的要求
3.确保产品是健壮的和适应用户环境的
软件测试的原则:
1.软件测试应尽早执行
2.软件测试应贯穿于整个软件生命周期
3.软件测试应追溯需求
4.测试应由第三方来构造
5.穷举测试是不可能的,不要做过多的测试,也不要做不充分的测试
6.必须确定预期输出
7.必须彻底检查每个测试结果
8.充分注意测试中的群集现象
9.其他值得注意的规律和经验
缺陷的二八定理
严格执行测试计划,排除测试的随意性
注意合法合理的输入,也要注意非法的非预期的输入
检查程序是否做了不该做的
测试应从“小规模”开始,逐步转向“大规模”
反复使用同样的测试会使软件具有抵抗力 (杀虫剂悖论)
关注缺陷的修复
测试活动依赖于测试背景
软件的定义:是程序,数据,文档的完整集合
软件的分类:
1.按层次:系统软件,支持软件,应用软件
2.按使用范围:(1)单机版软件:不需要也不会和其他计算机进行交互的软件(2)分布式软件:需要在多台计算机上进行协同工作的软件 C/S(客户端/服务器)结构 B/S(浏览器/服务器)结构
软件的特性:
1.软件是一种逻辑实体,具有抽象性
2.软件产品的生产主要是研制,生产成本主要在开发和研制,通过复制产生大量产品
3.软件在使用过程中,没有老化,磨损的问题
4.软件对硬件和环境有着不同程度的依赖性,导致软件移植问题
5.软件的研发至今尚未完全摆脱手工作坊式的研发方式,生产率低
6.软件是复杂的,而且以后会更复杂
7.软件的成本相当昂贵
测试第一天