什么是鲁棒性测试

1、介绍
  鲁棒测试是对各个模块的功能和系统进行容错性的测试,检测软件模块在异常输入和苛刻环境条件下可否保持正常工做,包涵错误数据处理 、异常状况处理和非法操做处理的测试。鲁棒测试大大提升了错误覆盖率,测试终端既要符合测试规范要求,还要有更高的成熟性,容错性和易恢复性,从而更好地提升软件质量。
2、测试目的
  确保终端软件在处理错误数据和异常问题时各个功能模块工做正常,提升终端软件的容错能力。进行异常测试的目的和依据以下,咱们以前的测试案例都是在验证这三条特性:
  ● 成熟性:终端软件为避免由软件中错误而致使失效的能力
  ● 容错性:终端软件在错误数据或者违规操做的状况下,软件维持规定的性能级别的能力
  ● 易恢复性:在发生故障的状况下,终端软件重建规定的性能级别并恢复受直接影响的数据的能力
3、测试原理
  鲁棒测试目的是观察终端软件的健壮性。它是在异常和危险状况下终端软件生存的关键。好比说,终端软件在输入错误、网络异常或非法操做下,可否不死机、不崩溃,测试并提升终端软件的容错性能力,确保用户数据不会损害和丢失。终端软件若是不能处理错误的输入,则可能形成:
  ● 垃圾数据进入终端软件,影响后续操做;
  ● 由于不能控制终端软件运行流程,终端软件可能处于未知状态,运行发生不稳定的状况,或者错误状态,影响正常业务;
  ● 还可能发生安全性问题,使得非法用户得到利益,或者终端软件不能提供正常的服务。
  因此鲁棒性测试是彻底必要的,只不过比正常操做的测试优先级低一些。
       3.1 错误数据处理
  错误数据处理测试原理是根据规范定义手动输入错误数据进行测试,检查测试终端相关功能模块的容错能力,在输入非法数据状况下模块功能是否异常。
  ● 错误数据根据需求而言,是没有意义的、不合理的输入数据的集合。
  ● 错误数据包括不支持字符,不支持的文件,错误数字(密码,电话等),空白数据,重复数据,错误设置,越界数据等等。
  ● 判断提示信息是否正确,首先要符合规范;其次要友好、合理、易理解;这样的提示才能被用户所接受。
       3.2 异常状况处理
  异常状况处理测试原理是根据规范中异常处理部分的定义对非人为因素致使的异常进行测试,检查测试终端相关功能模块的重试机制和自动恢复能力。
  ● 非人为因素异常包括:网络异常,服务器异常,终端软件异常等。
  ● 判断提示信息是否正确,首先要符合规范;其次要友好、合理、易理解;这样的提示才能被用户所接受。
  ● 在异常状况出现后,终端软件会自动发起重试机制,在异常状况消失后,终端软件可以自动恢复。
      3.3 非法操做处理
  非法操做处理测试原理是根据规范定义对人为非法操做致使的异常进行测试,检查测试终端相关功能模块的恢复能力,是否有数据丢失,检查数据的完整性等。
  ● 非法操做举例:在编辑彩信时掉电的处理;SD卡的数据使用时插拔SD卡;数据传输时插拔USB线。
  ● 判断提示信息是否正确,首先要符合规范;其次要友好、合理、易理解;这样的提示才能被用户所接受。
  ● 在进行非法操做后不能产生垃圾数据,没有数据丢失,被中断的操做没有引发终端软件异常。在异常状况消失后,终端软件可以自动恢复。
4、测试方法
  鲁棒性测试方法包含错误数据处理,异常状况处理和非法操做处理三类测试的测试方法,针对这三类测试内容的测试方法以下
       4.1 错误数据处理
  错误数据处理的测试方法是向指定模块人为输入非法数据,检查终端软件的反应和提示信息是否正常。具体测试方法以下:
  1)根据测试规范判断哪些数值属于非法数据;
  2)人为输入相应的非法数据进行测试;
  3)检查测试结果。一般测试结果会自动调整数据并给出正确的提示信息;
  注:通常不须要特定的测试设备或测试环境。
  错误数据处理的具体步骤列举以下:
  需求:单页彩信的持续时间为1~999
  准备条件:可知0为非法的数据
  测试步骤:
  1)新建彩信
  2)编写一条单页彩信。彩信内容包括图片和文字
  3)设置持续时间为0
  测试结果:
  1)新建彩信成功
  2)彩信编写成功
  3)设置失败,弹出警告对话框
5、异常状况处理
  异常状况处理是测试非人为因素致使的异常,检查测试终端对异常的状况处理是否正常。异常状况主要包括网络异常,服务器异常,终端软件异常等。
       5.1 网络异常
  网络异常状况主要包括:网络拥塞/网络干扰,2G/3G网络切换,电路域/数据域业务冲突,通讯网络不可用等网络异常状况。具体测试方法以下:
  1)借助屏蔽盒模拟断网或信号弱的情景,或者设置终端软件的网络和实际的网络不相符的情景;
  2)测试相应的和网络有关的功能。
  例如:终端软件网络设置为“仅限TD”状况下在没有TD信号的区域进行测试。要求终端软件在网络异常产生时不会生成垃圾数据而且在网络可用时能够继续先前被中断的操做。
      5.2 服务器异常
  经过使用测试平台模拟服务器异常。测试尽可能用现网卡经过现网WAP网关进行测试。在某些测试项用现网环境没法完成测试时,换用实验室卡和实验室网络环境进行测试。具体测试方法以下:
  1)在测试平台上修改数据;
  ● UA修改工具(UATools):修改成错误的UA,查看Push信息的推送能力的容错性
  2)测试相关的数据。
5.3 终端软件异常
  终端软件异常主要测试低电的状况,使用电量15%左右的电池进入各个模块进行测试,检查电量不足状况下模块的工做状况,低电提醒不该该对正在进行的操做产生不良影响。具体测试方法以下:
  1)电池电量在15%左右时,对相关的模块进行测试;
  2)电量低于10%后会有低电提醒,提醒不干扰正在进行的操做。
  3)电量低于0%后终端软件自动关机,检查关机会不会致使数据丢失的问题,以后查看能不能继续充电的问题。
  例如:拍摄视频时电量低于15%后终端软件自动退出照相机,终端软件提示“电量低,请充电后使用”,已经拍摄的视频自动保存到指定路径下。
  异常状况处理的具体步骤列举以下:
  测试步骤:
  1)被测终端接收彩信报。
  2)被测终端收到PUSH消息后关机。
  3)2天后开机,对收到的PUSH通知消息进行提取下载。
  测试结果:
  1)接收终端彩信报PUSH消息成功
  2)被测终端关机。
  3)提示用户该消息已过时。
6、非法操做处理
   非法操做处理是在模块基本功能操做的同时进行人为因素致使的终端软件异常操做,包括拔电池,同时还包括在执行中进行非法的操做,如同步时修改删除同步数 据,大容量数据传输时修改删除数据,终端软件升级被外界因素干扰检查下次终端软件升级等。对于非法的操做终端软件不该该产生垃圾数据,而且能保存已经编辑 的数据,确保没有数据丢失。通常须要的测试设备有:SD卡,SIM卡,USB线等。具体测试方法以下:
  1)创建必须的测试环境或预置条件;
  2)执行非法操做;
  3)检查测试结果,不该该产生垃圾数据,而且能保存已经编辑的数据,确保没有数据丢失。
  异常状况处理的具体步骤列举以下:
  测试步骤:
  1)进入信息
  2)新建彩信,添加图片和文字
  3)拔掉电池
  4)从新开机
  5)进入信息查看
  测试结果:
  1)进入信息成功
  2)新建彩信成功
  3)终端软件关机
  4)开机成功
  5)编辑的彩信被自动保存在草稿箱
7、测试用例设计
       7.1 错误数据处理用例设计
   错误数据处理测试用例的设计方法是根据测试规范和需求,分析终端软件容易产生异常数据的状况,例如不支持字符,不支持的文件,空白数据,重复数据,错误 设置,越界数据等信息,根据错误数据分析结果设计测试用例。例如:浏览器错误数据“空白的书签名称/地址,空白首页地址,重复的书签名称/地址,错误网络 设置,错误密码等等。”
       7.1.1 错误数据的分析原则
  首先须要根据规范中要求的合理数据(即有意义的数据构成的集合)来分析异常数据分类,而后围绕异常数据(即不合理数获得没有意义的数据集合)设计测试用例。可结合等价类、边界值的测试方法来分析错误数据。
       7.1.2 数据类型的举例
  ● 必填项输入测试:测试规范指出的屏幕上必须输入数据的字段和屏幕上每个被说明为必须输入的字段,以保证它强制要求你在字段中输入数据。错误数据测试应考虑空白时若是没有输入相关数据的提示和后续操做;
  ● 特殊字段类型测试:测试规范规定的特殊数据输入要求(姓名、日期、电话号码、邮编等)的字段的测试案例。错误数据测试输入的数据应包括它不该该接受的数据类型,测试软件对错误输入的提示和后续操做;例如密码只支持数字和英文,不该该支持中文。
   ● 特殊字符类型测试:测试规范上要求的某个字段支持的字符,错误数据测试输入数据应该着重考虑它不支持字符集合,测试软件对错误输入的提示和后续操做;例 如:文件夹命名的非法字符/ \ : * ? " < > |。飞信昵称不能为guest,好友名称不能为stranger等。
  ● 文件类型测试:错误数据测试考虑规范中规定的文件类型以外的文件的支持状况,以及测试软件处理不支持文件类型所给出的提示和后续操做;
  ● 数据有效性测试:输入不正确的网址,用户名,密码或电话等错误信息,测试软件处理错误数据所给出的提示和后续操做;例如:浏览器中输入不存在的网址,解锁输入错误密码等。
  错误数据处理测试用例举例:
  Initial Condition:
  MMS settings has been set properly
  Key Test Areas of Concentration:9 i* `3 O+ }' ~% V: g, R  v
  1. Launch Messaging/ U& i! p9 W# F7 l; n4 S. v* \
  2. Compose message$ L6 @- w  e% l
  3. Attach a nonsupport media
  4. Send MMS
  Scenario Result
  1. Show conversation list
  2. MMS is added
  3. The nonsupport media is added
  4. Successfully send
       7.2 异常状况处理用例设计
  异常状况处理测试用例的设计方法主要是考虑测试环境中网络异常,服务器异常等非人为因素异常状况设计测试用例。客户端应处理正确,而且终端软件应根据规范要求给出明确错误缘由,有些模块在异常状况消失后启动自动重试和恢复机制。
  首先要分析非人为因素产生的异常状况的类型,包括服务器异常,网络异常,终端软件异常等状况。而后围绕异常类型设计测试用例。
      7.2.1 服务器异常测试
  经过人为手段,终端软件与服务器之间数据进行交互时,测试服务器模拟异常状态,检查被测终端软件的反应和其后的补救提示或操做。包括服务器超时,服务器响应错误等。
  服务器超时测试用例包括全部与服务器相关的模块,当终端软件向服务器发出请求时,发现服务器没有返回正常的响应,则应该启动重试机制。例如:下载彩信超时,登陆飞信超时,更新动态内容超时等等。
  服务器响应错误测试用例包括全部与服务器相关的模块,当终端软件接收到服务器发出的数据包内容或格式错误时,终端软件会启动重试机制。例如:动态内容下载响应错误或同步相应错误等等。
       7.2.2 网络异常测试
  经过人为手段调节网络信号强度,网络冲突等状况,检测终端软件的反应和其后的补救提示和操做。包括网络正在使用,电路域/数据域业务冲突,通讯网络不可用等。
   网络正在使用测试用例包括全部与网络相关的模块,在指定2G网络下模块向网络发出请求后,发现GPRS的PDP正在被其它应用占用,而且该应用使用不一样 的网络链接参数(APN或者Proxy),则启动重试机制。在指定3G网络下模块向网络发出请求后,应支持终端软件多APN并发处理。
   电路域/数据域业务冲突测试用例包括全部与网络相关的模块,在2G网络下终端软件在使用数据域业务链接时,终端软件收到电路域的语音呼叫,则客户端中止 数据域业务链接,待电路域的语音通话结束后从新发起数据域业务链接。例如:下载文件或同步数据时打入电话等等。在3G网络下终端软件支持电路域和数据域业 务并发的处理。
  通讯网络不可用测试用例包括全部与网络相关的模块,指定模块向网络发出请求后,发现GPRS不可用,则启动重试机制。例如:飞行模式下进入浏览器,没有信号时定制终端软件电视等。
       7.2.3 终端软件异常测试
  检查低电状况下的工做状况。包括操做过程当中低电,低电后进入指定模块等测试。
  低电测试用例须要覆盖全部功能模块,终端软件电量不足状况下对基本功能进行操做,检查低电提醒和低电状态对模块的影响。例如:低电时接打电话,低电时拍照,低电时听音乐,低电时看视频等等。
  异常状况处理测试用例列举以下:
  Initial Condition:! b0 L- x* P( U# J! {
  1. MMS settings has been set properly
  2. MMS has expired in multimedia message center9 m1 c0 e8 P$ G5 G/ K9 H: J
  3. The auto-retrieve is active
  Key Test Areas of Concentration:7 M5 w  U+ M$ K
  1. Receive MMS
  2. Manual retrieve MMS7 E/ E5 A* \, h) |
  3. View this notification
  Scenario Result
  1. Receive a notification
  2. Receive a prompt that MMS has expired" W$ d" s' B- W+ V
  3. Successfully view notification
      7.3 非法操做处理用例设计
  非法操做处理测试用例的设计方法主要是从需求方面,相关业务等方面分析。针对不一样的功能模块分析可交互的非法操做,最多见的非法操做是拔电池测试,传输和下载文件时插拔USB数据线等。
  ● 拔电池的非法操做:主要测试在某个应用正在运行时,拔掉电池,打断正在进行的操做,检测终端软件的反应和其后的补救提示和操做。
  ● 插拔SD卡的非法操做:主要测试功能模块与SD卡进行交互时插拔SD卡,或移除SD卡后终端软件进行与SD卡相关的操做,检测终端软件的反应和其后的补救提示和操做。
  ● 插拔SIM卡的非法操做:包括测试终端软件与SIM卡进行数据交互时插拔SIM卡,或移除SIM后终端软件进行与SIM卡或网络相关的操做,检测终端软件的反应和其后的补救提示和操做。
  ● 插拔USB的非法操做:测试终端软件与外部设备传送数据时移除USB,或终端软件运行应用时链接USB并改变相应的链接模式,检测终端软件的反应和其后的补救提示和操做。
  ● 对于终端软件升级的非法操做:测试在终端软件升级时被外界因素干扰后,升级终端软件正常中断,检查终端软件可启动恢复机制,终端软件恢复到未升级的版本并可正常使用,并对下次终端软件升级无影响。
  非法操做测试用例列举以下:
  Initial Condition:' h. z: {) {- H7 }! Y6 d
  1. There is at least one push email account
  Key Test Areas of Concentration:' [, t6 M8 O/ @( H! [
  1. Power off when sending an email9 L. S& J6 n* n+ c
  2. Power on and then go on sending the email from outbox/ B( j8 L0 ]5 H, X
  3. Take battery out when receiving emails: o9 m% Q. ~) X2 b. |5 c) N
  4. Restart phone and then go on receiving the emails
  Scenario Result
  1. Verify that the unsent email should be put into Outbox
  2. Verify that the email should be sent out.+ ?9 N2 B/ R# F( V& o' t3 R; b   4. Verify that received emails should not be received again,Unreceived email should be received this time
相关文章
相关标签/搜索