转载来自:https://blog.csdn.net/Bee_AI/article/details/84726729

面对IT技术人员对自己测试技能的判断,按照这样的内容去回答:“如何测试一个杯子”,会让内行对你刮目相看。一方面,从“启发式测试策略模型”出发;另一方面从“软件质量特性分类”测试点出发。

 

启发式测试策略模型

作为一名软件测试工程师,不知道你是否熟悉“启发式测试策略模型”(Heuristic Test Strategy Model)。该模型如下图:

 

软件测试工程师在设计测试时,一般都是在应用个人已掌握的Test Techniques(即:测试技术)并结合Project Environment(即:项目环境)、Quality Criteria(即:质量准则)以及Product Element(即:产品要素)、这样就能基本保证Quality(即:质量)。Project Environment、Quality Criteria暂且不说,下面说下Product Element,对于产品要素需要考虑以下几部分:

 

结构:即组成产品所有的必需。比如:代码、界面、接口、非可执行文件、硬件以及附属物件。

功能:即产品应实现的所有功能。比如:用户界面、应用、计算、系统接口、交互、计算、错误处理、时间相关性功能、开启/关闭、多媒体、可测性。

数据:即产品处理的所有数据。比如:输入/输出、预值、序列、持久数据、噪声数据、生命周期等。

平台:即被测软件所有依赖的外部事物。比如:外部软件/硬件、内部组件等。

操作:即产品所有可执行的操作。比如:用户、环境、常见正常操作、非正常操作以及极限操作。

时间:即与产品相关的所有时间指标。比如:输入/输出的快慢、变化率以及并发率等。

 

从结构(Structure)、功能(Function)、数据(Data)、平台(Platform)、操作(Operation)、时间(Time)等6个方面一次考虑因素,考虑测试点即可。

 

软件质量特性分类

软件质量特性有不同的分类面,不同分类的对应关系如下图:

根据“软件质量特性分类”的测试点,大致考虑以下几方面,其他可自行补充:

需求测试(Requirement Test)

审查杯子使用说明书

用户文档(User Documentation)

杯子使用手册是否对杯子的用法、限制等方面有详细阐述

功能测试(Function Test)

杯子是否能装水

杯子能装多少容量的水

杯子能否盖杯盖

杯盖盖上,是否会倒出来

性能测试(Performance Test)

杯子能否床100摄氏度开水(耐热性)

杯子能保温多久

杯子能否装0度冰水或做冰块(耐寒性)

杯盖拧紧到何种程度,水不会倒出来

杯子装满水几天后会渗发水分

杯子是否容易击碎

杯子内壁涂料是否容易脱落

杯子的颜色是否容易褪色

杯子可使用多久或多少次

安全性测试(Security Test)

杯子是否存在异味

杯子的制造材质是否有毒

杯子内壁上涂料是否会溶解于水中

杯子在高温环境下是否会炸裂

杯子装入硫酸等化学液体是否会有剧烈反映

杯子是否容易生长细菌菌团

杯子是否存在会划伤身体的缺口或锋锐棱角

杯子是否有防滑措施

压力测试(Pressure Test)

在一定的挤压力的挤压下,杯子是否变形,甚至破碎

在一定的穿刺力的强度下,杯子是否会被穿刺

在一定的高度掉落下,杯子是否会摔碎

可靠性测试(Reliability Test)

杯子从不同高度掉落地上的损坏程度

界面测试(UI Test)

杯子的实际大小是否与设计一致

杯子有多重

杯子的颜色形状是否与设计一致

杯子整体外观是否美观耐看

杯子的图案是否符合常理常规

杯子是否有标准的容量刻度线

杯子的制造材质是否与设计一致

杯子的图案是否容易脱落

易用性测试(Usability Test)

杯子倒满开水后是否容易烫手

杯子倒满冰水后是否容易冻手

杯子是否有防滑纹理

杯子是否方便端放

杯子是否方便喝水倒水

杯子的使用是否简单易操作

可移植性测试(Portability Test)

杯子在不同地理、温度环境下均可正常使用

杯子是否能被不同人群均接受

兼容性测试(Compatibility Test)

除了装水,是否能装雪碧、酒、果汁、茶水、咖啡等其他液体

恢复性测试(Restorative Test)

杯子受损是否可恢复原态

震荡测试(Vibration Test)

杯子放在包装纸箱中,同时6面震荡,测试杯子是否能有效面对物流运输