以下是测试专家James Whittaker在HTBS中以失败模型为基础介绍的一些快速测试方法,这里进行补充和调整,并同步更新到我们的测试知识共享库中,使用时可灵活增删改查。
尝试各种输入以触发软件的所有错误消息
软件处理错误输入的常见方式有三种:
1.输入过滤:滤除错误的数据
2.输入检查:检查输入并报告错误
3.异常处理:当错误输入产生故障时,异常处理代码会捕获异常并加以补救。
正确编写以上代码需周密思考和反复测试,稍有不慎就可能引入缺陷 "
采用极限值测试、边界值测试、非法值测试、压力测试等方法来测试用户输入
强制让软件使用默认值
不同模块由不同程序员编写,他们可能期望不同的默认值 ,这种不一致性会导致错误
1.接受所有默认值,然后提交
2.使用空值
3.将默认值改为另一个值,然后再改回来
4.将默认值改为另一个值,然后改为空值"
探索允许的字符集和数据类型
常见问题:
1.字符集:有些软件只支持特定编码的字符集,输入其他编码的字符会导致错误
2.编程语言:有些软件会将用户输入作为程序来执行,这导致了许多问题,如SQL注入
3.OS:OS会禁止创建一些特定名字的文件。一些软件在西文OS上不能正确显示中文字符
测试了解软件、编程语言、实现技术、OS对字符集和数据的期望与限制,然后使用对它们而言具有特殊含义的字符串或数据进行攻击
令输入缓冲区溢出
软件未考虑输入值超长、超大的情况,导致数值计算溢出或缓冲区溢出
常见测试想法:
1.输入超长的字符串,字符串最好类似于“中文中文数字1234567中文...”有助于定位导致错误的长度
2.输入极大值(针对加法和乘法计算)、负的极大值(针对减法计算)、很接近0的值(针对除法计算)等"
测试一组相关变量的取值组
当多个程序员共同开发一段代码时,他们的代码所产生的数值可能不能正常协作。
此外,程序员还会用复杂的嵌套if语句来检查多个变量,这些代码不容易编写,更容易在维护时出错。
测试人员通过调查软件需求和实现,以识别真正相关的变量,它们通常属于同一个数据结构或参与到同一项计算中。
然后,根据软件使用它们的方式设计Case。
也可使用组合测试工具来产生Case
重复输入多次
软件可能不了解它在空间和时间上的限制,当重复操作耗尽其资源时,它会失败
测试反复执行一些消耗较多资源的操作,或反复执行一些大量数据的操作。如,在测试在线商城时,测试持续向购物车中添加货品,创建出一个包含许多商品的“超级订单”。该订单可能导致提交失败,或令未来的订单处理遇到困难。
tips:有更多对快速测试方法的测试想法和补充欢迎继续在后台或评论区留言哦,积极分享测试知识,帮助更多新人~
领取专属 10元无门槛券
私享最新 技术干货