《完美软件》读书笔记9:良好测试的要素

简介:

“没有什么事物是好的或者坏的,而是思维让事物有了好坏之分”--莎士比亚

书《完美软件》

如何才能知道,测试是否进行得很好?你对测试结果又能够有多少信任?

1、永远无法确切地知道

永远无法确切地知道,而且永远无法通过孤立地看某个测试来知道一个测试是否是良好的--但是确实有很多方法可以得知某个测试是否是糟糕的。

2、只能根据事实来评估良好性

如果知道一个系统中有多少BUG,就至少可以开始评估一组测试的良好性,或者说非糟糕性。

3、可能希望故意插入一些BUG

通过植入BUG(或者说‘插错’)来获得对软件中可能余留了多少问题的定量估算。

4、对良好性的估算总是统计性的

大多数时候,一个不能工作的烟雾报警器与一个可以工作的烟雾报警器是没有区别的。遗憾的是,最常见的提醒人们替换电池的是火灾。

类似地,不能认为测试员找到的BUG少就认为TA工作表现差;劣质软件、单元测试未排除简单BUG(噪音),都会让测试员看上去表现优秀。

这种度量体系下,糟糕的开发人员可能是测试员最好的朋友:(

5、可以对‘不差’进行估算

经理还是可以通过以下类型的问题对‘不差性’进行很多的评估:

* 测试是否名义上能够提供需要的住处?

* 是否进行了文档记录?

* 是否能理解它?如果不行,你怎么可能知道它到底是好还是坏?

* 它是否至少覆盖了那些最重要的部分?

* 是否确实完成了(测试执行)?

* 是否可以看出测试和演示之间的差别?

* 对趋势和状态的报告是否过于简单化和定期化了?

* 不同类型的测试活动之间是否有不一致的地方?比如性能测试发现了功能性缺陷

* 经理们是明察秋毫的吗?

小结:永远无法确切地知道测试是否完成得很好;但是如果测试完成得不好,有很多方法可以知道或估算出来。

 

常见错误:

1、未考虑到底在寻找哪些信息

2、根据发现的BUG数量来衡量测试人员的好坏

3、认为可以确定一个测试有多好

4、在不了解产品内部结构的情况下进行

5、测试时过于了解产品的内部结构

6、给出对BUG的统计估算时将它们当作固定的、确定的数字

7、未对测试的‘不良性’进行度量

8、不能保证开发过程良好地完成:对低劣的代码测试得再好又有什么用呢?

9、未考虑由于发现大量BUG导致的测试效率的损失

















本文转自DavyYew 51CTO博客,原文链接:http://blog.51cto.com/davyyew/306222 ,如需转载请自行联系原作者



相关文章
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试的新篇章:利用AI提升软件质量
【8月更文挑战第27天】在软件开发的海洋中,自动化测试是确保航船不偏离航线的关键罗盘。随着人工智能(AI)技术的兴起,这艘航船正乘风破浪,以前所未有的速度前进。本文将探索如何通过AI技术优化自动化测试流程,不仅提高测试的效率和覆盖范围,而且增强测试用例的智能生成和结果分析能力。我们将从AI在自动化测试中的应用入手,深入探讨其对测试准确性和效率的影响,以及面临的挑战与未来的发展方向。
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
AI驱动的自动化测试:提升软件质量的未来之路
【9月更文挑战第3天】AI驱动的自动化测试是提升软件质量的未来之路。它借助AI技术的力量,实现了测试用例的智能生成、测试策略的优化、故障预测与定位等功能的自动化和智能化。随着技术的不断进步和应用场景的不断拓展,AI驱动的自动化测试将在未来发挥更加重要的作用,为软件开发和运维提供更加高效、准确和可靠的解决方案。
|
8天前
|
安全 测试技术 数据库
华测检测软件登记测试
软件产品登记测试由检测机构根据委托方提供的材料,验证软件功能是否正常运行。自2000年起,测试报告可用于增值税退税、双软认证评估及高新企业认定等。测试涵盖应用、嵌入式、数据库及系统软件等,依据GB/T 25000.51-2016标准,确保软件质量并提升产品销售力及企业信任度。由具备CNAS及CMA资质的CTI华测检测提供专业服务,涵盖通用应用软件测评、APP安全检测及信息安全服务等多个方向。
|
12天前
|
监控 数据管理 jenkins
深入理解与应用软件自动化测试框架
【8月更文挑战第30天】在现代软件开发周期中,自动化测试已成为提高测试效率、保证软件质量的关键步骤。本文将探讨自动化测试框架的设计与实现,重点放在如何根据不同项目需求选择合适的测试框架,以及如何有效地集成到现有的开发和测试流程中。通过分析几个流行的自动化测试工具,如Selenium、Appium和JUnit,我们将讨论它们的特点、优势以及可能面临的挑战。此外,文章还将介绍一些最佳实践,帮助读者构建稳定且易于维护的自动化测试环境。
|
18天前
|
测试技术 持续交付 数据安全/隐私保护
自动化测试的奥秘:揭开软件质量保证的面纱
【8月更文挑战第24天】在软件开发的海洋中,自动化测试如同一座灯塔,指引着项目安全地航行。本文将深入浅出地探讨自动化测试的重要性、实施策略以及它如何成为现代软件开发不可或缺的一部分。通过生动的例子和实用的建议,我们将一起探索自动化测试的世界,解锁其对提升软件质量和开发效率的秘密。
|
1月前
|
测试技术 持续交付
探索式测试:一种高效且灵活的软件质量保证策略
在快速迭代和持续交付的软件开发环境中,传统的测试方法往往难以应对日益增长的测试需求。探索式测试作为一种灵活而高效的测试实践,强调测试人员的个人技能和经验,鼓励在测试过程中不断探索和学习。本文将介绍探索式测试的核心概念、实施步骤以及如何将其与传统测试方法相结合,以提升软件质量和测试效率。
|
2月前
|
人工智能 监控 安全
自动化测试在软件生命周期中的重要性
随着软件开发周期的加速,自动化测试成为确保软件质量和缩短上市时间的关键因素。本文旨在探索自动化测试如何在不同阶段提升效率与质量,并分析其在当前软件开发生态中的不可替代性。
|
1月前
|
测试技术 持续交付
探索式测试:软件质量的守护者
在软件开发生命周期中,确保产品质量是至关重要的一环。探索式测试,作为一种动态的软件测试方法,强调测试人员的个人技能和经验的运用,以发现那些可能被传统测试方法忽略的问题。本文将介绍探索式测试的核心理念、实施步骤以及它在现代软件开发中的不可替代性,同时通过具体案例分析,展现其在实际工作中的应用价值和对提升软件质量的重大贡献。
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
探索软件自动化测试的未来:AI驱动的测试策略
【7月更文挑战第47天】 随着人工智能(AI)技术不断进步,其在软件测试领域的应用也日益广泛。本文将探讨如何整合AI技术与现有的自动化测试流程,提出一个面向未来的测试策略。文章重点分析了AI在测试用例生成、执行、结果分析和持续集成中的作用,同时预测了这种技术融合对测试工程师角色的影响,以及它如何提高软件测试的效率和准确性。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索自动化测试的边界:如何有效整合AI技术提升软件质量
随着人工智能技术的飞速发展,其在软件测试领域的应用逐渐深入。本文将探讨自动化测试与AI结合的现状和挑战,分析AI在提升测试效率、发现深层次缺陷等方面的潜力,并提出实现这一融合的实践策略。
28 0
下一篇
DDNS