热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

异常测试用例设计方案

软件交付最终用户使用之前,需要进行各种类型的测试,其中就包括异常测试。异常测试,是检测系统对异常情况的处理。异常测试覆盖硬件或软件异常时的

软件交付最终用户使用之前,需要进行各种类型的测试,其中就包括异常测试。异常测试,是检测系统对异常情况的处理。异常测试覆盖硬件或软件异常时的处理。测试方应通过人为制造错误情况测试系统对错误操作、错误报文的反应,检查程序中的屏幕或页面是否给出了清晰且充分的提示或约束;一旦出现错误情况,系统是否能正常报告,并检查系统的错误提示是否清晰且充分;测试系统是否处理了用户的异常操作,还是造成死机或处理错误。只有通过异常测试的软件产品,才可以保证软件在正式上线后长时间的保持良好的运营状态,给最终用户以信心。异常测试的结果也有助于为我们进一步的系统优化设计积累经验,设计和测试是一个相互反馈的过程。
 
   这里我们只针对异常测试案例的设计进行讨论。为了验证软件的健壮性、可靠性,我们需要对软件进行异常测试,设计软件异常测试的测试用例。为了更清晰的分析和解决问题,我们从四个方面入手,他们分别是:业务需求、操作需求、标准需求和经验需求。下面我们就从这四个方面详细阐述如何设计异常测试用例。
从业务需求方面:
 
   业务需求是开发之源,也是测试之源。测试人员对业务需求的了解是非常非常重要的,针对于异常测试更是如此。进行正常测试可以对软件进行“扫菜单”式的测试,但是进行异常测试就必须要熟悉所测软件的业务流程、相关业务领域知识等信息,只有这样才可以知道系统在什么情况下会发生异常,什么情况下容易发生人为错误。这需要测试人员和开发人员或者系统分析员甚至真正的业务人员一起讨论,根据软件的类型与特点设计测试案例,不能凭空猜想。只有这样设计出的案例才能够真正的测试到,由于关键业务需要或者变化发生了异常,在此时软件的处理能力。
这一类的测试案例可以包括:
特殊业务流程测试:测试软件不按照正规的流程,而是按照可能的但非正规的业务流程运行,是否会生成错误数据,或者造成原有数据的错误,甚至造成系统的瘫痪;
压力测试:压力测试又称强度测试,主要是检查系统某些关键业务在极限情况下运行的能力,测试在这种情况下系统的运行、处理数据的情况,是否会造成系统瘫痪;
业务模块的添加、删除测试:根据实际情况,增加或删除业务模块,测试系统的运行状况;
删除或修改系统的重要配置文件测试:测试情况发生时系统是否能够正确的提示,指明系统的错误。在进行相应修补后,系统是否能够正常运行;
修改系统的重要配置信息测试:在软件的配置界面进行重要信息的修改或删除,测试系统是否有相关限制提示,并测试如果修改错误,系统是否能够进行错误提示,引导用户修改,而不至于系统瘫痪;
违规操作:这类测试可以包括,对现有重要业务数据的违规操作、用户越权业务操作等,测试系统是否有相关约束。如果发生类似事件,系统是否有补救措施,而不导致系统的瘫痪。
从操作需求方面:
用户正确的操作是系统正常运行的前提。所以在测试的时候,一定要进行错误操作来测试软件系统的健壮性。在从操作需求方面设计异常测试的测试用例时,需要从用户或者操作者的每一步的操作中进行提炼,而且这些测试用例一定要可操作性强,输入、输出、操作步骤都应该明确。实际上这部分测试用例也是功能测试用例的一部分,只是他不是正常、按照用户需求说明书的操作而已。
这一类的测试案例可以包括:
单引号操作:大多数基于SQL的数据库系统在用户存储包含一个英文单引号的信息时会出现问题,所以每一个可以接受文字数字型的条目都要有包含一个或多个单引号的文本案例。当然,这类问题还应该包括英文双引号、&、<、>等特殊字符。在测试的时候应该注意其之前的提示和错误操作之后的恢复与补救措施等;
必填项输入测试:测试每一个功能说明书上指出的屏幕上必须输入数据的字段和屏幕上每一个被说明为必须输入的字段,以保证它强制要求你在字段中输入数据。测试其如果没有输入相关数据的提示和后续操作;
特殊字段类型测试:准备每一个功能说明书或界面中规定的特殊数据输入要求(身份证、日期、电话号码、邮编等)的字段的测试案例,输入的数据包括它不应该接受的数据类型,测试软件对错误输入的提示和后续操作;
字段长度测试:准备功能说明书或者界面上要求的字段最大长度的测试案例,输入数据应该大于这个最大长度,测试软件对错误输入的提示和后续操作;
数字类型的边界测试:如果是数字类型,长度往往不能测试出问题,要准备数字类型的边界值测试案例,测试软件对越界错误输入的提示和后续操作;
日期类型测试:日期类型要测试其边界值和日期格式类型的有效性测试。对于日期类型的边界值可能根据数据库不同而不同,比如sql server的最小日期是1753年1月1日;而对于有效性最常用的就是闰年的有效日期问题,准备这类测试用例来测试软件对于错误输入的提示和后续操作;
web会话测试:对于采用b/s结构的软件,应该注意web会话测试。比如:在空白的浏览器中输入比较敏感的页面的URL,软件是否有相应的提示、强调应该先进行登录才能访问该界面。
从标准需求方面:
在软件界中被广泛使用的质量标准是ISO/IEC 9126,而其中对于异常测试最相关的质量特性就是可靠性(reliability),它的定义是:在指定条件使用时,软件产品维持规定的性能级别的能力。他下面又有四个子特性:成熟性、容错性、易恢复性、可靠性依从性。下面我们就从这四方面来设计异常测试案例。
1.
成熟性:软件产品为避免由软件中错误而导致失效的能力
2. 容错性:在软件失效或者违反规定的接口的情况下,软件产品维持规定的性能级别的能力
3.
易恢复性:在发生故障的情况下,软件重建规定的性能级别并恢复受直接影响的数据的能力
4.
可靠性依从性:软件产品依附于同可靠性相关的标准、约定或规定的能力。
实际以上四条是我们进行异常测试的目的和依据,我们之前的测试案例都是在验证这四条特性。根据这些标准,我们可以进一步准备异常测试案例,其中包括:
数据库服务器死机测试:在测试过程中强行关闭软件的数据库服务器或者用其它方式导致数据库死机,测试被测系统的提示是否准确以及其后的相关补救提示或操作;
数据表毁坏测试:非法删除或修改数据库中的表数据或者表,测试被测系统的提示是否准确以及其后的相关补救提示或操作;
网络故障测试:在测试中中断网络或者人工增加网络流量,测试被测系统的提示是否准确以及其后的相关补救提示或操作;
软件服务器故障测试:在测试过程中,强行重启软件的web服务器或者中间件服务器,测试系统的恢复能力;
从经验需求方面:
对于测试人员,经验是十分重要的。测试是有规律可循的,对软件测试、软件相关业务与流程熟悉的测试人员,测试肯定会事半功倍。根据以往的经验,异常测试案例的设计,除了上面提及的各个案例,还有一些补充的被广泛采纳的测试案例。这些案例包括以下几类:
文件丢失测试:强行删除被测软件的一些文件,测试被测系统的提示是否准确以及其后的相关补救提示或操作;
服务器资源测试:通过人为手段,增加软件数据库服务器、web服务器或者中间件服务器等相关服务器的硬件资源,如:cpu、内存、硬盘等的负载,测试被测系统的反应和其后的补救提示或操作;
断电测试:在测试期间,对部分或者所有相关软件测试机器进行断电测试,测试软件的恢复能力。
以上关于异常测试案例的设计与相关的案例,只是一些比较概括的论述,大部分是可以被“复用的”。针对于不同类型、规模的软件,还应该进行进一步的分析,设计出不同的测试案例。这个过程和其他类型测试案例相同,也应该被不断更新与完善。
相关概念:
异常的英文是:anomaly。
异常的定义是:在文档或软件操作中观察到的任何与期望违背的结果。

转:https://www.cnblogs.com/gudu0723/archive/2013/02/26/2933134.html



推荐阅读
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 在处理数据库中所有用户表的彻底清除时,目前尚未发现单一命令能够实现这一目标。因此,需要采用一种较为繁琐的方法来逐个删除相关表及其结构。具体操作可以通过编写PL/SQL脚本来实现,该脚本将动态生成并执行删除表的SQL语句。尽管这种方法相对复杂,但在缺乏更简便手段的情况下,仍是一种有效的解决方案。未来或许可以通过数据库管理工具或更高版本的数据库系统提供更简洁的处理方式。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • Linux下MySQL 8.0.28安装指南
    本文详细介绍了在Linux系统上安装MySQL 8.0.28的步骤,包括下载数据库、解压数据包、安装必要组件和启动MySQL服务。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 为了提升单位内部沟通效率,我们开发了一套飞秋软件与OA系统的消息接口服务系统。该系统能够将OA系统中的审批、通知等信息自动同步至飞秋平台,确保员工在使用飞秋进行日常沟通的同时,也能及时获取OA系统的各类重要信息,从而实现无缝对接,提高工作效率。 ... [详细]
author-avatar
zhangsheng7_215
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有