990-33产品经理:Seven Principles of Testing 测试的七项原则

According to International Software Testing Qualification Board there are seven principles that should be considered when developing the testing strategy for a software project/product.

根据国际软件测试资格认证委员会(International Software Testing Qualification Board)的说法,在开发软件项目/产品的测试策略时,应该考虑七个原则。

1) Testing shows presence of defects 1)测试显示存在缺陷

By testing you can show presence of defects in a product but you can never prove that the product under test is defect free. The testing strategy should focus on clustering the defects in order to reduce the residual risk of the software to a minimum but, even if no defects are found, it is not a proof of correctness.

通过测试,您可以显示产品中存在的缺陷但你永远无法证明测试中的产品是无缺陷的。测试策略应该集中于对缺陷进行聚类,以便将软件的残余风险降低到最低限度。但是,即使没有发现缺陷,也不能证明正确性。

2) Exhaustive testing is impossible 2)穷举测试是不可能的

Testing all possible scenarios (all combinations of preconditions and inputs) is not feasible. Techniques like risk analysis should be used to prioritize and focus the testing efforts.

测试所有可能的情况(先决条件和输入的所有组合)是不可行的。应使用风险分析等技术来确定检测工作的优先顺序和重点。

3) Early testing

The testing activities should be started as early as possible during the software or system development life cycle. The cost to fix a bug increases exponentially if the bug is found in a later phase of the development life cycle. The testing activity shall be focused on defined objectives.

测试活动应该在软件或系统开发生存周期中尽早开始。如果bug是在开发生存周期的后期发现的,那么修复bug的费用将呈指数级增长。测试活动应集中在规定的目标上。

4) Defect clustering

The density of modules should be used to decide where to focus the testing effort. Usually a small number of modules contains most of the defects. That is why, in order to have an efficient test strategy, this areas of the software should be explored in more details by the testing strategy.

4)缺陷聚类

应该使用模块的密度来决定测试工作的重点。通常一小部分模块包含了大部分的缺陷。这就是为什么,为了有一个有效的测试策略,软件的这个区域应该被测试策略更详细地探索。

5) Pesticide paradox

The test cases should be reviewed and updated on regular basis. New tests should be developed to exercise new parts of the software or system. If this is not done and the same tests are repeated again and again eventually no new bugs will be found, but this does not mean that the system is defect free. Testing should focus on continuous improvement during the complete development life cycle.

5)农药悖论

测试用例应该定期被检查和更新。应该开发新的测试来测试软件或系统的新部分。如果不这样做,同样的测试一遍又一遍地重复,最终不会发现新的bug,但这并不意味着系统没有缺陷。测试应该关注在整个开发生存周期中的持续改进。

6) Testing is context dependent

Different kind of systems are tested in a different way. A safety critical system like an automotive or aircraft ECU will be tested more extensively than a presentation website of a company.

6)测试依赖于上下文

不同类型的系统以不同的方式进行测试。像汽车或飞机ECU这样的安全关键系统将比公司的演示网站进行更广泛的测试。

7) Absence -- of -- errors fallacy

In short words: if a systems does not fulfill the user needs and expectations then having a bug free system does not help. Functional testing and a deep understanding of the customer expectations is a must during the development life cycle.

7)无错误谬误

简而言之:如果一个系统不能满足用户的需求和期望,那么即使有一个没有bug的系统也无济于事。在开发生存周期中,功能测试和对客户期望的深刻理解是必须的。

相关推荐
智驱力人工智能27 分钟前
智慧物流中心为何需要包装缺陷检测 商品包装检测 包装标签合规检测 物流包装AI视觉检测系统 电商包装自动化检测 快递封箱完整性AI识别
人工智能·opencv·目标检测·计算机视觉·视觉检测·边缘计算
Elastic 中国社区官方博客30 分钟前
SearchClaw:将 Elasticsearch 通过可组合技能引入 OpenClaw
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
weixin_505154462 小时前
博维数孪携手微软,打造智能电网数字化手册新标杆
大数据·人工智能·智慧城市·数字孪生·产品交互展示
Daydream.V2 小时前
Opencv——图片处理(二)
人工智能·opencv·计算机视觉
Jasmine8393 小时前
OpenClaw部署太难? Codex全流程零编码实现浏览器UI自动化
人工智能·测试工具·ui
AI2512243 小时前
AI视频生成器技术评测:运动质量与稳定性分析
人工智能·microsoft·音视频
脑极体3 小时前
从Sora惊恐到即梦反杀,中国的AI视频生成之路
人工智能
jeffsonfu4 小时前
神经网络为什么需要“深”?——浅谈表征学习的力量
人工智能·神经网络·表征学习
无心水5 小时前
【OpenClaw:实战部署】5、全平台部署OpenClaw(Win/Mac/Linux/云服务器)——10分钟跑通第一个本地AI智能体
java·人工智能·ai·智能体·ai智能体·ai架构·openclaw
AdMergeX5 小时前
行业热点资讯 | 网信办公布数据出境安全管理政策法规问答;搜狗输入法正式宣布全面AI化;百度文心助手入局春节AI战;
人工智能·安全·百度