关闭

51Testing丛书连载:(一)软件测试精要

发表于:2009-2-13 16:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:董杰    来源:51Testing软件测试网

  测试策略2——临界状态测试

  在服务器和客户端同时发送空数据信息给对方。

  在服务器和客户端同时发送满数据信息给对方。

  在服务器和客户端启动过程中,分别向对方发送空信息、满信息。

  测试策略3——异常处理

  模拟双向数据传输时,传输过程中不断发生传输中断和恢复,服务器和客户端不发生不合理的现象。

  数据发送瞬间,接收端发生意外关闭、正常关闭或接收端重启,是否服务器和客户端不发生异常,接收端能正常接收完整的发送信息。

  在对端软件未启动和传输通信不通时,如果数据发送失败,发送方进行合理处理。

  测试策略4——长时间工作

  通过转换为自动化测试的方式,将测试策略1、测试策略2和测试策略3按先后顺序循环执行多次或10小时以上,寻找测试策略1、测试策略2和测试策略3所能覆盖的逻辑处理代码中是否有内存泄漏的情况。

  到目前为止,我们已在最开始的测试设计基础上进行了很多的扩展。那么我们现在是否还可以有新的测试策略来进一步提高测试用例的质量呢?

  测试策略5——模拟资源紧张情况下的测试

  长时间(10小时以上)同步模拟服务器和客户端在各自接收端口和发送端口同时受到网络攻击,在有限的通信系统资源紧张的情况下是否还能进行正常的文本通信,而不出现异常。

  测试策略6——真实环境测试

  将服务器和客户端挂在Internet上进行真实环境的测试,验证是否会有在真实环境应用中我们未想到的测试情形。

  我们现在还能继续设计新的测试策略吗?只要你坚信测试无止境,坚持凡事精益求精,向自己的思维潜力挑战,肯定还可以设计出新的测试策略。

  笔者于是在前面已有的测试策略的基础上又有新的突破,秉承对功能测试质量精益求精的态度,继续对该模块进行测试方法的挖掘。

  测试策略7——安全性测试

  服务器和客户端在通信过程中进行安全性测试。当两端正在持续正常通信过程中,同时启动对服务器和客户端的各类安全性测试攻击。例如:通过向接收端进行伪造的源IP数据攻击;向接收端发送一些畸形的数据文件格式;向接收端发送一些错误的协议报文等方式,来判断接收端是否会出现异常。

  最后限于笔者对即时通信软件客户端与服务器通信测试的有限功力,这个功能点的测试设计先到此为止。希望通过这个案例如何进行精益求精设计的过程,来让读者体会“精益求精”对于提升测试用例设计水平的意义和价值。读者如果感兴趣,还可以在此基础上提出更多好的测试策略,不断完善这个案例的测试用例设计。

  测试用例设计的精益求精除了多创造测试方法外,还有另一个很重要的领域——在测试用例设计规范上追求精益求精。笔者曾见过不少测试用例由于写得过于草率和简单,导致执行测试的人在工作时压力非常大,需要花费很大的精力和时间来啃测试用例中描述的真实含义。请大家不要误认为这只是因为我们中国测试起步晚,才有这样的现象。笔者曾见过两家欧美顶尖电信设备公司老外工程师写的测试用例,其测试方法过于简单,测试步骤描述基本没有,基本上每个执行这些测试用例的中国工程师都叫苦连天。

  你说这些欧美企业没有规范的流程吗?可他们是CMMI5(软件能力成熟度模型集成模型5级)都过了的,这些测试用例也是经过了每一个需要评审的流程才正式进入测试用例库的。那为什么这些外国人写的用例方法如此简单?因为测试流程和测试规范只关注测试用例的骨架是否完成,而附着在骨架上的肌肉状况,则很难由流程来规范和考评。这样有的老外就偷懒,用一句简单的句子就描述完了一个测试方法,给后来者带来了极大的痛苦。

  据笔者所知,后来在这两家欧美企业的中国工程师一改他们的老外同事留下的弊病,在写测试方法时,尽量做到非常详细的文字描述,并尽可能地把所有的操作步骤和命令都补充在对应的测试步骤后面。使用这种精益求精的态度写出的测试用例,完全可以让任何一位测试用例执行者只看一遍测试用例即可完成测试用例的执行。测试用例设计工程师通过自己多付出些时间来完善和丰富测试用例的描述,不但大大提高了未来测试用例执行的效率,而且为公司节省了时间和成本。

本文选自《51Testing软件测试作品系列》之四的《软件测试精要》,本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!

版权声明:51Testing软件测试网获电子工业出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。

相关阅读:

查看本书介绍>>

查看软件测试作品系列其他书籍>>

22/2<12
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • zhangxd12
    2013-4-10 15:31:05

    可以精益求精,但无法执行

  • 独孤之星
    2012-9-23 09:11:42

    如果仅仅是这么一个小小的案例就要测试这么烦,那么,对于一个超大型的软件来说,没有测试个几年根本就测试不完。所以说,在软件测试时要重点测试,考虑软件的成本和商业价值,在用户的角度去测试软件,做到没用用户体验错误,然会在精益求精,把基本的做好了然后再追求完美。

  • julioguo
    2010-6-02 10:16:03

    Lz的示例中提出不包括压力和性能测试,而策略4和策略5确实属于压力测试...飘过!!!

  • emily2011
    2010-5-31 10:29:21

    哎  学习中

  • reshma
    2009-6-09 10:34:03

    实际和理论根本不一样,我也想精益求精,可时间就是金钱

  • hotivy
    2009-5-07 15:21:29

    lz例子有点矛盾啊,题目中要求不包括压力和性能测试,而在自己的例子中却涉及到了这些方面

  • snow_wen
    2009-4-10 12:52:24

    学习中

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号