黑盒测试并不是基于无知的测试

黑盒测试在百度百科中这样描述【该词条通过“科普中国”科学百科词条编写与应用工作项目审核 】。

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

根据以上描述,黑盒测试意味着产品内部知识在测试中不起重要的作用。在实际测试中,大部分测试人员都是基于黑盒进行测试的。黑盒测试的优势在于测试人员可能与程序员的思考方式不同,因此有可能预测出程序员所遗漏的风险。

黑盒测试强调基于用户和用户场景的相关的测试,这一点并不是被所有人理解,有很多人以为黑盒测试就是“点点点”,甚至把黑盒测试描述为基于无知的测试,因为测试人员始终都不了解产品的内部代码。这反映出对测试团队角色的根本误解。如果在测试人员主要关注的是源代码,以及能够从源代码导出的测试,则测试人员所做的工作也许就是程序员已经做过的,并且测试人员关于这些代码的知识要少于程序员。那是不是说测试人员不需要了解这些知识呢?当然不是,在实际过程中,鼓励测试人员去了解产品的工作原理,甚至更多产品相关的信息。

测试专家James Bach提出的启发式测试策略模型(Heuristic Test Strategy Model,简称HTSM)是一组帮助测试设计的指南(guideline)。本文用启发式测试策略模型解释基于黑盒测试需要了解的相关知识。

HTSM的概要描述,测试人员利用质量标准(Quality Criteria)、项目环境(Project Environment)、产品元素(Product Element),指导测试技术(Test Techniques)的选择与应用,并产生观察到的质量(Perceived Quality)。如下图所示。

63e14ee6aa4a3c147f082141d749860b.png

HTSM从顶层元素(质量标准、项目环境、产品元素、测试技术)进行逐级分解,本文从四个维度36个思考点简单介绍HTSM,更多的细节请参考James Bach的文档。

测试技术:生成测试的策略。有效地选择和实施测试技术,需要综合分析项目环境、产品元素和质量标准。

功能测试(Function Testing)

域测试(Domain Testing)

压力测试(Stress Testing)

流测试(Flow Testing)

情景测试(Scenario Testing)

声明测试(Claims Testing)

用户测试(User Testing)

风险测试(Risk Testing)

自动测试(Automatic Testing)

项目环境:资源、约束和其他影响测试的项目元素。测试总是受到项目环境的约束。在某个团队运转良好的策略不一定适合另一个相似的团队,以往富有成效的方法未必适应当前的项目。有经验的测试人员会根据当前语境(Context),在约束条件下充分运用资源,以高效地测试。

用户(Customers):正确理解产品的用户、客户。

信息(Information):发现测试所需的信息。

开发者关系(Developer Relations):与开发者协作加速开发,团队协作的关系,开发模式等。

测试团队(Test Team):利用团队的力量支持测试。

设备与工具(Equipment & Tools):可利用的硬件、软件、文档等。

进度(Schedule):项目实施的流程。

测试条目(Test Items):测试范围和重点。

交付品(Deliverables):测试的产出。

产品元素:需要测试的对象

结构(Structure):产品的物理(physical)元素(如代码、接口、配置文件、可执行文件等)。

功能(Functions):产品的功能。

数据(Data):产品所操作的数据及数据流向。

平台(Platform):产品所依赖的外部元素,如软硬件及中间件。

操作(Operations):产品将被如何使用。

时序(Time):影响产品的时间因素,或者操作顺序。

质量标准之操作性标准(Operational Criteria):面向用户和运营团队;

能力(Capability)

可靠性(Reliability)

可用性(Usability)

安全性(Security)

可伸缩性(Scalability)

性能(Performance)

可安装性(Installability)

兼容性(Compatibility)

质量标准之开发标准(Development Criteria):面向开发团队。详细解释可参考ISO25000标准,在此不详细赘述。

可支持性(Supportability)

可测试性(Testability)

可维护性(Maintainability)

可移植性(Portability)

本地化(Localizability)

由以上介绍可知,HTSM由一组指导性词语(guide word)组成,它们构成一个层次结构,让测试人员从高层抽象到底层细节对产品和测试进行思考。这些指导性词汇是测试的指南,其作用不是教导如何具体地测试,而是启发测试人员的思维,发掘测试对象和测试策略。

本文用启发式测试策略模型像大家说明黑盒测试不是基于无知的测试,需要考虑项目、团队、产品、技术的方方面面。是一个系统的,复杂的,有技术沉淀的职业。4326f1cd32e5ed2f282683ca6420e45e.jpeg文章来源:MiniStarClub北京,致力于提供最具价值的测试、测试管理及个人成长领域原创文章。包括测试技术、测试方法、测试思想、测试管理及个人成长等。

· 推 荐 阅 读 ·

RECOMMENDATION

京东金融云测平台方案

京东金融移动端测试实践

团队管理与个人成长文章汇总

你需要的测试策略都在这里!!!

深入学习自动化测试看这里就够了!!!

深入理解自动化测试基本原理和框架设计

打造用户满意的产品|互联网测试的初探

全面的质量保障体系之回归测试策略

京东金融App端链路服务端全链路压测策略

UI自动化应该实施哪些内容?

《高绩效成果教练》课程笔记及思考

基于业务分层的测试策略

基于风险的测试策略

高效学习之五星笔记法

你点的每个“在看”,我都认真当成了喜欢!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部