十大原则:
- 测试是证伪而不是证真。
- 测试应当有重点。
- 事先定义好产品的质量标准,确定测试用例用例输出结果。
- 软件项目一启动,软件测试也就开始了。
- 穷举测试是不可能的。
- 第三方测试会更加客观,更有效。 软
- 件测试计划是做好软件测试工作的前提。
- 测试用例是设计出来的,不是写出来的。
- 对发现软件错误较多的程序段,应当更深入的测试。
- 重视文档,妥善保存一切测试过程的文档。
测试的Good Enough
- 不要做不充分的测试,也不要做过多的测试;找到测试费用和测试量之间的平衡点,是最佳选择。
- 制定测试内容和最低测试通过标准加以衡量(必要时具体问题具体分析)。
测试的经验:
- 测试人员永远不要保证什么;
- 测试人员的编写的文档是代表自己;
- 测试人员要学会逆向思维;
- 编写缺陷一定要保证重现;
- 测试一定要根据需求——《规格需求说明书》;
- 关注对用户不利的缺陷,要站在用户的角度;
- 适当的引入测试工具提高测试效率;
- 测试人员是服务人员;
软件质量
软件质量是“反映实体满足明确的和隐含的需求的能力的特性的总和”。
具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的和隐含特征相一致的程度。
软件的质量有以下六大特性:
1、功能性
- 适合性:软件是否提供了相应的功能;
- 准确性:软件提供的功能是否正确(用户需要的);
- 互操作性:产品与产品之间交互数据的能力,例如word对其他文档的支持能力;
- 保密安全性:允许经过授权的用户和系统能够正常的访问相应的数据和信息,禁止未授权的用户访问;
- 功能性的依从性:国际/国家/行业/企业 标准规范一致性;
2、可靠性
- 成熟性:软件产品为避免软件内部的错误扩散而导致系统失效的能力(主要针对内部错误的隔离);
- 容错性:软件防止外部接口错误扩散而导致系统失效的能力(主要针对外部错误的隔离);
- 易恢复性:系统失效后,重新恢复原有的功能和性能的能力;
- 可靠性的依从性:软件产品依附与同可靠性相关的标准、约定或法规以及类似规定的能力;
3、易用性
- 易理解性:软件交互给用户信息时,要清晰、准确,且要易懂,使用户能快速理解软件;
- 易学性:软件使用户能学习其应用的能力;
- 易操作性:软件产品使用户能易于操作和控制它的能力;
- 吸引性:软件产品吸引用户的能力;
- 易用性的依从性:软件产品依附与同易用性相关的标准、约定、风格指南或法规以及类似规定的能力;
4、效率性:
- 时间特性:平均事务响应时间,吞吐率,TPS(每秒事务数),软件处理特定的业务请求所需要的相应时间;
- 资源利用性:CPU内存 磁盘IO 网络带宽 队列 共享内存,软件处理特定的业务请求所消耗的系统资源。
- 效率依从性:软件产品依附与同效率相关的标准或约定的能力。
5、可移植性
- 适应性:适应不同平台;
- 易安装性:被安装的能力;
- 共存性:软件产品在公共环境中与其他软件分享公共资源共存的软件;
- 易替换性:软件产品在同样的环境下,替代另一个相同用途的软件产品的能力;
- 可移植性的依从性:软件产品依附与同可移植性相关的标准或约定的能力;
6、可移植性
- 适应性:适应不同平台;
- 易安装性:被安装的能力;
- 共存性:软件产品在公共环境中与其他软件分享公共资源共存的软件;
- 易替换性:软件产品在同样的环境下,替代另一个相同用途的软件产品的能力;
- 可移植性的依从性:软件产品依附与同可移植性相关的标准或约定的能力;