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的系统也无济于事。在开发生存周期中,功能测试和对客户期望的深刻理解是必须的。

相关推荐
聚客AI42 分钟前
🌟大模型为什么产生幻觉?预训练到推理的漏洞全揭秘
人工智能·llm·掘金·日新计划
Juchecar1 小时前
一文讲清 nn.Sequential 等容器类
人工智能
阿里云云原生1 小时前
如何快速看懂「祖传项目」?Qoder 强势推出新利器
人工智能
美团技术团队2 小时前
LongCat-Flash:如何使用 SGLang 部署美团 Agentic 模型
人工智能·算法
程序员小袁3 小时前
基于C-MTEB/CMedQAv2-rerankingv的Qwen3-1.7b模型微调-demo
人工智能
飞哥数智坊4 小时前
AI 编程一年多,我终于明白:比技巧更重要的,是熟练度
人工智能·ai编程
新智元4 小时前
收手吧 GPT-5-Codex,外面全是 AI 编程智能体!
人工智能·openai
IT_陈寒4 小时前
Java 性能优化:5个被低估的JVM参数让你的应用吞吐量提升50%
前端·人工智能·后端
阿里云云原生5 小时前
阿里云基础设施 AI Tech Day AI 原生,智构未来——AI 原生架构与企业实践专场
人工智能
Memene摸鱼日报6 小时前
「Memene 摸鱼日报 2025.9.16」OpenAI 推出 GPT-5-Codex 编程模型,xAI 发布 Grok 4 Fast
人工智能·aigc