专栏首页搜云库技术团队软件做异常测试?必知的22个测试点总结!

软件做异常测试?必知的22个测试点总结!

软件交付最终用户使用之前,需要进行各种类型的测试,其中就包括异常测试。

什么是异常测试?

异常测试,是检测系统对异常情况的处理。异常测试覆盖硬件或软件异常时的处理。测试方应通过人为制造错误情况测试系统对错误操作、错误报文的反应,检查程序中的屏幕或页面是否给出了清晰且充分的提示或约束;一旦出现错误情况,系统是否能正常报告,并检查系统的错误提示是否清晰且充分;测试系统是否处理了用户的异常操作,还是造成死机或处理错误。

这里我们只针对异常测试案例的设计进行讨论。为了验证软件的健壮性、可靠性,我们需要对软件进行异常测试,设计软件异常测试的测试用例。为了更清晰的分析和解决问题,我们从四个方面入手,他们分别是:业务需求、操作需求、标准需求和经验需求。下面我们就从这四个方面详细阐述如何设计异常测试用例。

异常测试的测试点

从业务需求方面:

1、特殊业务流程测试

测试软件不按照正规的流程,而是按照可能的但非正规的业务流程运行,是否会生成错误数据,或者造成原有数据的错误,甚至造成系统的瘫痪;

2、压力测试

主要是检查系统某些关键业务在极限情况下运行的能力,测试在这种情况下系统的运行、处理数据的情况,是否会造成系统瘫痪

3、修改系统的重要配置信息测试

在软件的配置界面进行重要信息的修改或删除,测试系统是否有相关限制提示,并测试如果修改错误,系统是否能够进行错误提示,引导用户修改,而不至于系统瘫痪

4、修改系统环境变量

在系统运行过程中,人为修改系统使用的环境变量参数,观察系统的反应

5、将系统的用户名和密码或权限进行修改

例如在系统运行过程中,修改数据库访问用户名或密码,观察系统的反应

6、对系统产品进行升级

老系统仍然在运行过程中,对系统进行升级操作

从操作需求方面:

1、单引号操作

大多数基于SQL的数据库数据库数据库数据库系统在用户存储包含一个英文单引号的信息时会出现问题,所以每一个可以接受文字数字型的条目都要有包含一个或多个单引号的文本案例。当然,这类问题还应该包括英文双引号、&、<、>等特殊字符。在测试的时候应该注意其之前的提示和错误操作之后的恢复与补救措施等

2、必填项输入测试

测试每一个功能说明书上指出的屏幕上必须输入数据的字段和屏幕上每一个被说明为必须输入的字段,以保证它强制要求你在字段中输入数据。测试其如果没有输入相关数据的提示和后续操作

3、特殊字段类型测试

准备每一个功能说明书或界面中规定的特殊数据输入要求(身份证、日期、电话号码、邮编等)的字段的测试案例,输入的数据包括它不应该接受的数据类型,测试软件对错误输入的提示和后续操作

4、日期类型测试

日期类型要测试其边界值和日期格式类型的有效性测试。对于日期类型的边界值可能根据数据库不同而不同,比如sql server的最小日期是1753年1月1日;而对于有效性最常用的就是闰年的有效日期问题,准备这类测试用例来测试软件对于错误输入的提示和后续操作

5、web会话测试

对于采用b/s结构的软件,应该注意web会话测试。比如:在空白的浏览器中输入比较敏感的页面的URL,软件是否有相应的提示、强调应该先进行登录才能访问该界面

从标准需求方面:

1、数据库服务器死机测试

在测试过程中强行关闭软件的数据库服务器或者用其它方式导致数据库死机,测试被测系统的提示是否准确以及其后的相关补救提示或操作

2、进行数据迁移工作

在系统运行过程中,对系统数据库进行迁移工作

3、数据表毁坏测试

非法删除或修改数据库中的表数据或者表,测试被测系统的提示是否准确以及其后的相关补救提示或操作

4、网络故障测试

在测试中中断网络或者人工增加网络流量,测试被测系统的提示是否准确以及其后的相关补救提示或操作

5、在对应的服务器上安装其他相关软件

在系统运行过程中,服务器上安装新的杀毒软件或者进行病毒库的更新,或更新或安装新的浏览器软件,或更新或安装新的输入法软件,或更新或安装新的办公软件

6、端口号被占用

不同服务使用了同一端口号

从经验需求方面:

1、文件丢失测试

强行删除被测软件的一些文件,测试被测系统的提示是否准确以及其后的相关补救提示或操作;

2、文件丢失操作

在系统运行过程中,将系统对应的安装文件夹或生成文件夹进行移动或删除或修改文件夹的属性

3、服务器资源测试

通过人为手段,增加软件数据库服务器、web服务器或者中间件服务器等相关服务器的硬件资源,如:cpu、内存、硬盘等的负载,测试被测系统的反应和其后的补救提示或操作;

4、断电测试

在测试期间,对部分或者所有相关软件测试机器进行断电测试,测试软件的恢复能力

5、服务异常终止

通过人为手段将数据库服务、web服务等服务进行暂停,观察系统的反应

总结:

只有通过异常测试的软件产品,才可以保证软件在正式上线后长时间的保持良好的运营状态,给最终用户以信心。异常测试的结果也有助于为我们进一步的系统优化设计积累经验,设计和测试是一个相互反馈的过程。

往期精彩阅读

Java SQL注入危害这么大,该如何来防止呢?

还没用上 JDK 11吧,JDK 12 早期访问构建版使用

Dubbo 整合 Pinpoint 做分布式服务请求跟踪

Java并发:分布式应用限流实践

接口限流:漏桶算法&令牌桶算法

Java并发:Semaphore信号量源码分析

Java并发:深入浅出AQS之共享锁模式源码分析

Java并发:深入浅出AQS之独占锁模式源码分析

Java并发:了解无锁CAS就从源码分析

Java并发:CAS原理分析

本文分享自微信公众号 - 搜云库技术团队(souyunku),作者:测试小兵尼

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-09-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 应用消息中间件设计可以解决哪些实际问题?

    消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有Acti...

    搜云库技术团队
  • 搭建大众点评CAT实时应用监控平台

    CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。

    搜云库技术团队
  • 面试必备:基于 Zookeeper 的分布式锁实现【图文并茂 附源码 】

    最近在学习 Zookeeper,在刚开始接触 Zookeeper 的时候,完全不知道 Zookeeper 有什么用。且很多资料都是将 Zookeeper 描述成...

    搜云库技术团队
  • 每天一道面试题——如何测试银行系统?

    有一次去银行面试,面试官看我简历上有一个金融项目,于是问我:你觉得金融项目跟常规项目的测试有什么区别?

    张树臣
  • 程序员眼中的测试

    码农的产品和服务大都是以软件形式存在的,我们存在的价值之一就是快速提供高质量的软件产品或服务。如何保障软件的高质量呢?这与软件测试分不开的,测试是保证软件质量的...

    半吊子全栈工匠
  • 高效持续测试策略的4个要素

    通常,当组织计划并实施有效的测试自动化策略时,他们认为他们正在实施连续测试。他们错了。

    用户7466307
  • 产品不同测试阶段的测试分析

    软件测试应该贯穿软件产品的整个研发周期,在不同的研发阶段,会有不同的测试方法和手段跟进。进行不同的测试来保障产品的质量。软件测试的分类有很多种,本文章就以一个...

    小老鼠
  • 云端测试和性能测试实战

    随着越来越多的应用程序开始采用云端部署的方式,包括微软 Azure、谷歌云、亚马逊 AWS 或者国内的阿里云、腾讯云等, 怎样确保在本地正常工作的生产代码(Pr...

    小老鼠
  • 功能测试工程师的自动化学习之路

    绝大多数测试同学都是从功能测试做起的,工作忙忙碌碌,每天在各种业务需求学习和点点中度过,过了好多年发现自己还只是一个功能测试工程师。

    吾非同
  • 软件测试初认识(三)

    完成对最小的软件设计单元模块的验证工作。对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试。

    吾非同

扫码关注云+社区

领取腾讯云代金券