以下是测试专家James Whittaker在HTBS(How To Break Software)中以失败模型为基础介绍的一些快速测试方法,这里进行补充和调整,并同步更新到我们的测试知识共享库中,使用时可灵活增删改查。


尝试各种输入以触发软件的所有错误消息

软件处理错误输入的常见方式有三种:

1.输入过滤:滤除错误的数据

2.输入检查:检查输入并报告错误

3.异常处理:当错误输入产生故障时,异常处理代码会捕获异常并加以补救。

正确编写以上代码需周密思考和反复测试,稍有不慎就可能引入缺陷 "

采用极限值测试、边界值测试、非法值测试、压力测试等方法来测试用户输入

强制让软件使用默认值

不同模块由不同程序员编写,他们可能期望不同的默认值 ,这种不一致性会导致错误

1.接受所有默认值,然后提交

2.使用空值

3.将默认值改为另一个值,然后再改回来

4.将默认值改为另一个值,然后改为空值"

探索允许的字符集和数据类型

常见问题:

1.字符集:有些软件只支持特定编码的字符集,输入其他编码的字符会导致错误

2.编程语言:有些软件会将用户输入作为程序来执行,这导致了许多问题,如SQL注入

3.OS:OS会禁止创建一些特定名字的文件。一些软件在西文OS上不能正确显示中文字符

测试了解软件、编程语言、实现技术、OS对字符集和数据的期望与限制,然后使用对它们而言具有特殊含义的字符串或数据进行***

令输入缓冲区溢出

软件未考虑输入值超长、超大的情况,导致数值计算溢出或缓冲区溢出

常见测试想法:

1.输入超长的字符串,字符串最好类似于“中文中文数字1234567中文...”有助于定位导致错误的长度

2.输入极大值(针对加法和乘法计算)、负的极大值(针对减法计算)、很接近0的值(针对除法计算)等"

测试一组相关变量的取值组

当多个程序员共同开发一段代码时,他们的代码所产生的数值可能不能正常协作。

此外,程序员还会用复杂的嵌套if语句来检查多个变量,这些代码不容易编写,更容易在维护时出错。

测试人员通过调查软件需求和实现,以识别真正相关的变量,它们通常属于同一个数据结构或参与到同一项计算中。

然后,根据软件使用它们的方式设计Case。

也可使用组合测试工具来产生Case

重复输入多次

软件可能不了解它在空间和时间上的限制,当重复操作耗尽其资源时,它会失败

测试反复执行一些消耗较多资源的操作,或反复执行一些大量数据的操作。如,在测试在线商城时,测试持续向购物车中添加货品,创建出一个包含许多商品的“超级订单”。该订单可能导致提交失败,或令未来的订单处理遇到困难。

转载于:https://blog.51cto.com/hongz/2084240

测试人员必学的软件快速测试方法(三)相关推荐

  1. 测试人员:如何品味软件的品位

    为什么80%的码农都做不了架构师?>>>    测试人员:如何品味软件的品位 软件作为一种商品,当然也是有品味的.软件质量不仅包含符合预期的功能实现,还应包含与软件的用户.适用领域相 ...

  2. 测试人员必知的软件测试文档有哪些?

    测试人员必知的软件测试文档有哪些? 软件测试文档一般是提供测试信息的一组文档,可以是测试人员的工具,也可以是项目开发团队的开发辅助工具. 一般情况下,项目相关的测试文档主要有以下几个 : 1.测试计划 ...

  3. 【干货收藏】测试人员必看的经典书籍

    分享几本软件测试工作相关的书籍,以下书籍均为作者曾经阅读或正在研读的,挑选了几本非常经典且可实际落地的,可以在工作中借鉴并运用.品读过程中如遇有争议欢迎在公号留言或后台发送私信,一起讨论.(PS:以下 ...

  4. 测试人员的基本技能要求 - 快速掌握业务知识的能力

    注:本文节选自<软件测试技术大全>第3章 测试人员的技能要求相对开发人员而言,没有那么的专门,开发人员可以仅仅要求具备某项编程语言的使用能力即可胜任开发的工作.但是测试人员却要求需要了解更 ...

  5. 测试人员必看——掌握7大技能,做好自动化测试就不是问题!

    随着测试需求在业界不断增长.目前测试行业岗位面临较大需求,自动化测试在许多方面极大地取代了手动测试.自动化测试人员的数量增长,也极大地增加了测试行业的竞争,要想在茫茫测试人员中脱颖而出,这七大技能必须 ...

  6. 如何做好功能测试,提升测试质量和效率?(测试人员必知)

    近些年,随着对于客户体验.管理水平.业务发展要求的提升,业务越来越复杂,迭代周期越来越快,如何做好提高功能测试质量?是很多技术负责人或者测试人员面对的问题. 下面针对自己经验,分享一下功能测试精髓. ...

  7. 【原创】测试人员打怪升级路线图配快速升级指南

    经验获取方式:任务(根据任务的级别及任务类别).打怪(根据处理的问题级别及心得体会) 基础任务:完成分配任务(视人员级别而定) 高倍任务:解决工作疑难(一般问题).解决同事问题(严重问题) 活动任务: ...

  8. Nginx后端开发人员必学神器-并发编程经典之作剖析和名企热点面试v1.21.3

    概述 **本人博客网站 **IT小神 www.itxiaoshen.com Nginx官网 最新版本为1.21.3 Nginx (engine x) 是一个开源的.高性能的HTTP和反向代理web服务 ...

  9. 开发人员必学的5门课程

    越来越多的Web开发人员通常都会问一些同样的问题.比如:哪一种开发语言最重要?初级开发人员的薪金会是多少?公司提供的免费培训有用吗?如何评估一个新的项目?尽管这些问题都很重要,但是开发人员往往对其他人 ...

最新文章

  1. 成都两年JAVA工程师_成都Java工程师学习路线
  2. 春运12306的bug
  3. Ch4201-楼兰图腾【树状数组】
  4. 比特(bit)和字节(byte)(1byte=8bit)
  5. 遇到问题了 .net项目发布到iis6,没有权限访问!?
  6. 飞鸽传书2009的“真正价值”
  7. Django框架——HttpResponse对象
  8. Unity MeshBaker 合并网格和材质
  9. php 微信证书,【微信支付】企业付款开发者文档
  10. SolarWinds与安稳特加强合作关系,携手助力中国IT专业人士应对挑战
  11. 动手学习数据分析(四)——数据可视化
  12. python可变参数的实验性_详解Python的三种可变参数
  13. linux扩大lvm_Linux下lvm在线扩容步骤
  14. 程序员的十个经典算法
  15. 人工智能培训机构-光环国际,开课吧,贪心学院,交大,黑马,七月在线,咕泡,百战程序员哪个靠谱?
  16. 计算机显示器工作原理与维修,VGA显卡工作原理及种故障维修方法
  17. 单片机C语言 -- 基于条件选择的状态机编程技巧
  18. IRedMail卸载升级
  19. 计算机无法对光盘格式化,使用驱动器X:中的光盘之前需要将其格式化,是否需要将其格式化?...
  20. 高中生物神经系统的组成,初中生物神经系统考题

热门文章

  1. 解决SQL Server 2000 错误15023:当前数据库中已存在用户或角色
  2. vue的js文件中获取vue实例
  3. ZOC7 for Mac连接CentOS7无法输入中文问题
  4. 提高代码质量:如何编写函数
  5. 2010:关于 Web 的 30 个预测
  6. 影院平台搭建 - (2)FLV发布系统的简单搭建
  7. REST service 化一个数据系统(REST Service 的最佳实践,第 2 部分)
  8. 聊聊高并发系统之队列术
  9. 精通机器学习的5本免费电子书(5 free e-books for machine learning mastery)
  10. 编程语言的排名取决于应用场景和主要公司的需求