一、软件质量
什么是质量
定义:影响产品或服务满足给定需求的能力的特性和特性的总和。
质量来自:
- 客户的观点是否适合使用或其他客户需求
- 生产者观点满足要求
软件质量
定义:软件符合质量标准的程度。
Prevention is better than cure
软件质量包括过程和质量
质量保证与工作流程有关
质量保证关于产品
一些定义
软件测试定义
- 软件测试是有计划的、系统的必不可少的步骤
- 这是一项实证调查,旨在为利益相关者提供有关被测产品或服务质量的信息
- 我们可以知道用户的期望是否实现
- 软件测试是软件质量保证的关键步骤
通过手动或自动方式对系统或系统组件进行演练或评估的过程,以验证其是否满足特定要求或识别预期结果与实际结果之间的差异。
注意:软件测试的本质功能是验证和确认
验证(Verification):软件应符合其规范(我们构建的产品是否正确
确定软件开发周期给定阶段的产品是否满足前一阶段建立的要求的过程。
确认(Validation):软件应该做用户真正需要的事情(我们正在构建正确的产品吗
在软件开发过程结束时评估软件以确保符合软件需求的过程。
test和debug的区别:
test | debug |
---|---|
自动测试 | 手动操作 |
可以不知道细节 | 必须知道细节 |
正确性证明和处理错误 | 仅正确性证明 |
检查 | 推理 |
计划,在控制中 | 不在控制中 |
根据 G.J.Myers 的观点,软件测试的目的:
- 查找软件错误
- 降低软件不起作用的风险
测试的类型
-
C3:按照特定测试活动的目标
-
Testing in V-model(V 模型)
在开发周期的每个阶段显式地指定测试活动
-
Agile testing(敏捷测试)
- 从需求阶段开始,在整个开发项目中都包含与测试相关的活动
- 与指定测试要求的客户合作
- 测试人员和开发人员必须相互合作,而不是充当对手
- 经常进行小块测试
-
Test-driven development (测试驱动开发,TDD)
Requirements specified as tests
三、软件测试规则
- 尽早测试并经常测试
- 集成应用程序开发和测试生命周期
- 形式化测试方法
- 制定全面的测试计划
- 使用静态和动态测试
- 定义您的预期结果
- 了解应用程序背后的业务原因
- 使用多个级别和类型的测试
- 审查和检查工作,它会降低成本
- 不要让你的程序员检查他们自己的工作
测试通过规则
- 是否执行所有测试用例
- 功能设计是否完成
- 我们是否得到足够的错误
什么是测试用例
如果系统根据其规范运行,则用于测试系统的输入和来自这些输入的预测输出。
测试用例生成规则
- 避免模糊的测试用例
- 类似的功能应该被抽象和分类
- 避免复杂的测试用例
软件测试员的能力
- 技术能力
- 沟通能力
- 怀疑
- 自信
- 耐心
- 分析能力
- 合作
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!