以下是测试专家James Whittaker在HTBS中以失败模型为基础介绍的一些快速测试方法,这里进行补充和调整,并同步更新到我们的测试知识共享库中,使用时可灵活增删改查。
备注:上一节是通过用户界面攻击软件的输入,本节是通过用户界面攻击软件的输出。
1.强制软件对相同的输入产生不同结果
软件的输出不仅取决于输入,还取决于其内部状态、所依赖的外部数据和程序
测试需咨询领域专家、产品经理、开发人员、了解软件的业务规则和代码实现。
通过测试来建立软件模型,以掌握软件如何处理外部因素和内部状态。可用攻击方法来探测软件的缺陷
2.强制软件产生错误输出
逆向思考,从输出推测导致错误的输入。
测试战略上,测试可采用与上一条攻击相似的测试流程,通过迭代学习,建模和攻击来寻找缺陷。
但本攻击更强调暴露输出错误。
3.强制一个输出的属性发生变化
有些输出包含多个属性,
如PPT软件导出图片时需考虑原对象的色彩、对比度、亮度、特效、边框等属性。
协同工作的代码(调整对象属性的代码、在屏幕上绘制对象的代码和导出图片的代码)可能存在不一致性。
测试令输出包含各种属性,然后逐一调整属性,并检查新的输出。在调整属性时,要重点考虑极限值、非法值和数据性质的变化。
如:属性的效果从无到有或从有到无,都可能会对输出结果产生重要影响 。
4.强制屏幕重新绘制
软件的图形界面需正确地在屏幕上绘制对象和动画,这是有挑战性的编程任务。
尽管使用成熟的程序库可避免许多典型问题,但软件仍可能在某些场景中失败。
测试新增、删除、移动屏幕上对象,调整软件的界面布局,改变其窗口大小和位置,在此过程中密切关注软件是否正确、及时地重新绘制。屏幕上不应出现闪烁、黑影、对象残留等异常情况。
领取专属 10元无门槛券
私享最新 技术干货