章16 缺陷轰炸和beta测试

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1517424 章16 缺陷轰炸和beta测试利用软件测试软件是加快工作进展的绝佳方式,有助于找出其它方式可能遗漏的软件缺陷。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1517424

章16 缺陷轰炸和beta测试


利用软件测试软件是加快工作进展的绝佳方式,有助于找出其它方式可能遗漏的软件缺陷。
成为高效测试员的另一条途径是借助他人的力量。
一、让他人测试你的软件
1)让其他人检查软件有助于打破杀虫剂怪现象;
2)人们互相之间不仅看到的不同,而且测试方法也不同;
3)让别人帮忙测试有助于消除烦躁心情;
4)观察别人解决问题的方式是学习新测试技术的上佳方法。
人们很容易落入希望自己单独负责测试软件的陷阱中,不要这样做。
二、测试共享
可能的话,除非软件项目特别小,否则至少有几个测试员来测试软件。
一个常用方法是在一定时间内简单互换测试任务。
至少可以让他人花时间审查等价划分和测试用例,他们可以根据自身经验为测试提供新的或不同的思路。
共享测试任务的有趣方法是安排缺陷轰炸(bug bash)。
缺陷轰炸:是在一段时间(一般为几个小时)内整个测试小组停下指定的常规测试任务,参加轰炸。
在缺陷轰炸中,选择软件中某一区域,所有测试员集中测试这个区域或者这组特性。
选择区域可能是软件缺陷聚集之处,看是否还有更多潜伏的问题;也可能是怀疑不存在软件缺陷的区域。
利用缺陷轰炸可以确定普通测试是否会遗漏软件缺陷,代码编写质量如何。
选择区域虽然有不少内在规则,但是最终要用缺陷轰炸让许多人从特定的软件区域寻找软件缺陷。
请求协助寻找软件缺陷的最佳伙伴是产品支持或者客户服务小组——他们在客户打电话或者通过电子邮件咨询问题时与客户交谈。
注意:产品支持人员接到的最常见求援电话可能是易用性问题。许多打来电话的人只是想知道软件怎样使用,因此较好的做法是让产品支持小组在设计早期协助测试,以指出和修复易用性软件缺陷。
三、beta测试
另一种让他人验证和确认软件的常用过程称为beta测试(beta testing)。
beta测试是用于描述外部测试过程的术语。在该过程中,软件分发给选定的潜在客户群,让他们在实际环境中使用软件。
beta测试一般在产品开发周期行将结束时进行。理想情况下只是确认软件准备向实际客户发布。
beta测试的目标可能很广泛,从让新闻媒体报道软件初期使用印象倒用户界面确认到最后一步寻找软件缺陷。
软件测试员要让管理beta测试的人知道beta测试的目标。
考虑以下几个问题:
1)谁是beta测试者?
2)怎样知道beta测试者使用过软件?
3)beta测试可以成为寻找配置和兼容性软件缺陷的好方法;
4)易用性测试是beta测试能有所作为的另一个领域;
5)撇开配置、兼容性和易用性,beta测试在寻找软件缺陷方面竟然出人意料的差。
注意:试图依靠beta测试来代替实际测试是软件产品开发的主要误区之一,不要这样做。如果这样做可行,为什么软件设计和编程不这样做呢?
6)beta测试程序会耗费测试员大量的时间。
测试新手的常见任务是与beta客户一起,帮助解决他们的问题,回答提问,确认他们找到的软件缺陷。
经证实,beta测试是使独立、翔实的测试数据回归软件的好方法,但是必须正确定义和管理才有效——几乎可以说这也需要测试。
四、外包测试
许多公司的一种常用做法是向擅长各方面软件测试的其它公司外包或提交部分测试工作。
配置和兼容性测试通常是外包测试的理想选择,这些测试一般需要拥有众多不同硬件和软件组合的大小测试实验室,以及一些人员来管理。
本地化测试是另一个通常被外包测试的例子。除非拥有相当庞大的测试小组,否则配备能懂产品支持的各种语言的测试员是不可能的。
作为测试新手,虽然不要求决定外包哪些测试任务,但是如果外包的测试是你负责测试的软件部分,你就需要与外包公司一起工作。
外包任务的成败很大程度上取决于软件测试员。考虑:
1)测试公司究竟要咨询哪些测试任务?谁来定义?谁来批准?
2)他们遵守哪个进度?谁来制定进度?如果超过最后期限会怎样?
3)为测试公司提供哪些内容?
4)测试公司提供哪些内容?至少要提供他们找出的软件缺陷。
5)如何与测试公司联系?
6)怎样知道测试公司是否满足期望?他们怎样知道是否满足期望?
以上课题在匆忙外包测试任务时常常被忽视。
五、总结
应该使用任何方式使测试更加有效。
1)是决定使用技术;
2)是要求增加人手;
3)是靠蛮力手工测试。
每一个软件测试问题都是唯一的,每次测试都能够学到新知识。

目录
相关文章
|
监控 测试技术
当测试发现300个缺陷时
当测试发现300个缺陷时
203 0
|
6月前
|
测试技术 UED 开发者
性能测试报告-用于项目的性能验证、性能调优、发现性能缺陷等应用场景
性能测试报告用于评估系统性能、稳定性和安全性,涵盖测试环境、方法、指标分析及缺陷优化建议,是保障软件质量与用户体验的关键文档。
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
1961 6
|
机器学习/深度学习 测试技术
ACL杰出论文奖:GPT-4V暴露致命缺陷?JHU等发布首个多模态ToM 测试集,全面提升大模型心智能力
【10月更文挑战第6天】约翰斯·霍普金斯大学等机构提出了一项荣获ACL杰出论文奖的研究,旨在解决大模型在心智理论(ToM)上的不足。他们发布了首个MMToM-QA多模态ToM测试集,并提出BIP-ALM方法,从多模态数据中提取统一表示,结合语言模型进行贝叶斯逆规划,显著提升了模型的ToM能力。这一成果为机器与人类自然交互提供了新思路,尽管仍面临一些局限性和技术挑战。论文详情见:https://arxiv.org/abs/2401.08743。
352 6
|
机器学习/深度学习 人工智能 安全
软件测试中的探索性测试:一种高效发现软件缺陷的方法
本文将深入探讨软件测试中的一种关键方法——探索性测试。探索性测试是一种动态的、探索性的软件测试方法,它依赖于测试人员的直觉和经验,通过实际操作软件来发现潜在的问题和缺陷。与传统的基于预定义用例的测试方法相比,探索性测试更加灵活,能够更全面地覆盖软件的各个方面,从而更有效地发现难以预见的错误和漏洞。
383 2
|
监控 测试技术
软件测试中的风险管理:如何避免潜在缺陷
【8月更文挑战第5天】在软件开发的生命周期中,测试阶段扮演着至关重要的角色。本文将深入探讨软件测试中的风险管理,包括风险识别、评估和缓解策略。我们将通过具体案例分析,揭示如何在早期阶段预防和减少潜在的软件缺陷,以及如何通过有效的测试计划和执行来保障产品质量。文章旨在为读者提供一套系统的风险管理框架,帮助他们在软件开发过程中识别和应对各种测试风险。
605 3
|
前端开发 测试技术 数据安全/隐私保护
软件测试 —— 案例系统缺陷报告
软件测试 —— 案例系统缺陷报告
509 1
|
缓存 C语言 C++
【项目日记(九)】项目整体测试,优化以及缺陷分析
【项目日记(九)】项目整体测试,优化以及缺陷分析
|
测试技术
『测试基础』| 如何理解测试用例管理和缺陷管理?
『测试基础』| 如何理解测试用例管理和缺陷管理?
594 1
|
测试技术
有了测试标准流程后缺陷就不会遗漏到线上吗?
有了测试标准流程后缺陷就不会遗漏到线上吗?
157 0