1,软件缺陷是什么
导致软件未按预期目标运行的问题。(满足规则之一则是缺陷)
1.1 软件未实现产品说明书要求的功能
1.2 软件出现了产品说明书指名不该出现的错误
1.3 软件实现了产品说明书未提到的功能
1.4 软件未实现产品说明书虽未明确提及但应该实现的目标
1.5 软件难以理解、不易使用、运行缓慢或者从测试员角度看最终用户会认为不好。
2,相关文件
2.1 产品说明书:对开发的产品进行定义,给出产品的细节,如何做,做什么,不能做什么。
2.2 进度表:随着项目的不断庞大和复杂,制造产品需要投入很多人力物力,因而必须要有某种机制来跟踪进度。
2.3 软件设计文档:当程序员写编程时必须有个设计过程来规划软件如何编写。(以下为常用的设计文档)
2.3.1 结构文档
2.3.2 数据流图
2.3.3 状态转换图
2.3.4 流程图
2.3.5 代码注释
2.4 测试文档
2.4.1 测试计划:描述用于验证软件是否符合产品说明书,客户需求的整体方案。
2.4.2 测试用例:列举测试的项目,描述验证软件的详细步骤。
2.4.3 缺陷报告:描述执行测试用例找出的问题。
2.4.4 测试工具和自动测试
2.4.5 度量、统计和总结:测试过程的汇总。采用图形、表格和报告形式。
3,软件测试员的目标
尽可能早的找出软件缺陷,并确保其得以修复。
4,软件产品组成部分
当产品打包分发时,不仅仅分发的时代码,许多支持包括在内。由于这些部分客户都要查看或使用,所以也需要测试。还有错误提示信息
5,软件开发生命周期模式
5.1 大爆炸模式:计划、进度安排和正规开发过程几乎没有,所有精力都花在了开发软件和编写代码上。
5.2 边写边改模式
5.3 瀑布模式:构思-分析-设计-开发-测试-最终产品
5.4 螺旋模式
6,并非所有软件缺陷都要修复
不需要修复软件缺陷的原因有
6.1 没有足够的时间
6.2 不算真正的软件缺陷
6.3 修复的风险太大
6.4 不值得修复
7,测试基础
7.1 等价类划分:把可能的测试用例集缩减到可控制仍然足以测试软件的小范围内。
7.2 边界条件类型:指软件运行在计划操作界限的情况。提出边界条件时,一定要测试临近边界的有效数据,测试最后一个可能有效数据,同时测试刚超过边界的无效数据。
7.3 竞争条件
7.4 重复、压迫和重负
7.4.1 重复:不断执行同样的操作。进行这种反复测试的主要原因时检查是否有内存泄漏。
7.4.2 压迫测试:使软件在不够理想的条件下运行--内存小、磁盘空间小、CPU速度慢、调制调解小李低。
7.4.3 重负测试:尽量提供条件任其发挥,让软件处理尽可能大的数据。(时间也是一种重负测试,对于大多数软件、长期稳定地工作时很重要的)
重复、压迫和重负测试联合使用,同时进行,这是找出以其他方式难以发现的严重缺陷的一个可靠的方法。