宣言的测试家园

优秀是一种习惯
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

系统测试常用测试方法介绍

Posted on 2007-05-30 13:37  宣言  阅读(13398)  评论(4编辑  收藏  举报

                         系统测试常用测试方法介绍

 

对于专业测试人员,大家都知道,软件测试根据不同阶段可以分为单元测试、集成测试、系统测试以及发行测试和维护测试等。其中每个阶段所关注的测试内容和重点以及采取的测试方法都不尽相同。系统测试一般采取黑盒测试,系统测试中用到的测试方法比较多,其中常用的方法有多任务测试、临界测试、中断测试和等价划分测试等几种方法。

一、多任务测试

这里多任务指在非idle状态下,测试机器处于工作状态时,有新的事件发生,如手机进行通话时有短信进入,手机编辑短信时有电话呼入,这种情况就是本文所指的多任务,相应的测试就是多任务测试。下面是一个多任务测试的测试用例:

1

标识12385 :: 测试用例 短信查看+来电应答1

摘要

手机中有未读短信

步骤

期望的结果

1.进入手机短信查看状态查看短信;

2.在短信查看过程中有电话进入;

3.按下手机应答键接听来电;

4.按下挂机键结束通话

1.手机在查看短信过程中能够正常响应来电;

2.按下应答键后手机能够正常通话

3.按下挂机键手机能够正常结束通话

关键字:  

优先级1

说明:

1.多任务测试是黑盒尤其是嵌入式设备测试中所必须进行的一项最基本的测试,也是最容易发现软件问题的一种测试;

2.多任务测试是测试系统模块之间相互影响的一种重要测试,这种测试一般会检测出如死机、系统重启、内存混乱、数据丢失严重问题等;

3.多任务测试的重点应放在用户经常使用的模块组合上,测试时应将用户可能遇到的这些组合考虑进去,同时要注意模块重合的时间点!

二、临界测试

临界测试指在事件、任务刚刚发生、结束以及存储系统处于临界等边界状态下所进行的测试。下面是两个临界测试的例子:

2

标识12762 :: 测试用例 短信接收满

摘要

1.手机短信收件箱的容量为100;

2.手机SIM卡收件箱已满,短信存储位置设置为手机.

步骤

期望的结果

1.接收100条短信至手机收件箱;

2.接收第101条短信至收件箱.

1.手机能够正常接收100条短信;

2.无法接收第101条短信.

关键字:  

优先级1

注:上面的例基于一个软件需求规格:短信收件箱满时无法接收新的短信。如果软件设计为当收件箱满时,有新的短信进入,则自动删除最早短信,然后接收新的短信,这就需要重新设计测试用例了。

3

标识12764 :: 测试用例 来电接听

摘要

手机处于idle状态

步骤

期望的结果

1.手机电话本中联系人有电话呼入;

2.在手机来电刚刚振铃瞬间,按下接听键接听来电.

3.按下挂机键结束通话

1.可以正常接听来电和通话;

2.能够正常结束通话.

关键字:  

优先级1

说明:

1.  临界测试是系统测试中很容易发现问题的一种测试方法,进行临界测试时,最重要的一点就是一个临界点的把握,有些概率性的出现就是一个测试点的问题;

2.  一般在一个事件发生的开始和结束瞬间以及涉及到内存处于容量满和空时是临界测试关注的重点,这些情况也是最容易出问题的。

 

三、中断测试

中断指软件在工作时,被其他任务或意外事件等情况所终止退出,相应的测试即为中断测试。中断有人为中断、新任务中断以及意外中断等几种情况。

Eg1.手机在编辑短信时,突然有电话进入,短信编辑被中断(新事件中断)

Eg2.手机短信查看过程中,手机电池耗尽自动关机(意外事件);

Eg3.手机短信刚刚发送时,按下停止键停止发送(人为中断)。

说明:

1.  中断测试和临界测试一样,一般在函数借口和内存数据的存取时用的比较多,也很容易发现软件问题

 

四、等价类划分

组件的一个测试用例设计技术,该技术从组件的等价类中选取典型的点进行测试。例如,手机来电振铃时间为60s,取四个时间点:1s,20s,40s,60s,分别在不同时间点对来电进行响应,如接听、拒接等。这就是等价类测试思想。

说明:

等价类划分是软件测试中常用的一种测试方法,软件测试是有限的,等价类的划分能够以少量的测试用例来代替更广的测试。

 

小结

本文中介绍的几种测试方法其实在很多情况下都是相互重叠的,有时候一个测试往往既属多任务测试,同时又属于临界测试和中断测试。当然也可以牵扯到等价类划分测试。系统测试工作量大,出现的问题也很多(功能方面,如本来单独工作很好的模块在系统集成时就无法工作了)。方法不只目的,借助这些方法,在时间、资源有限的情况下发现更多的问题才是目的。如何能够使用有效的测试,发现更多的有价值的问题,是我们每个测试者都应该思考的一个问题。