软件测试的创新思维,解读测试设计

测试设计,可以理解为它是对测试工作进行有目的、有计划的、创造性的商业活动,这种创造性活动与设计者本身所掌握的测试技术及拥有经验的丰富程度密切相关。测试界大师Glenford J。 Myers在《软件测试的艺术》一书中说到“测试是极度富有想象力和高智商的、有挑战性的工作”。实际上,很多既设计又开发软件的人承认,他们通过创造力的软件测试获得了更多艺术上的满足感。

谈起测试设计,大家可能首先想起的就是测试用例的设计,因为无论采用何种方式来测试,测试用例都是离不开的。一条高效的测试用例,如同一面明亮的宝镜,很容易暴露隐藏的Bug。特别当版本稳定,容易发现的Bug很少,余下的都是一些隐藏得很深的偶发严重Bug时,此时再往下挖掘如同大海捞针。由于软件本身的特殊性,以及在实际的项目测试中还要考虑时间与代价,不允许我们做到100%的穷举测试,这也注定了我们不可能把所有的Bug都找出来。这就意味着总有一些Bug还在我们身边。在这个阶段,一个人的Bug敏感度尤显重要,而对Bug的敏感度依赖于过硬的技术积累与极富挑战性的创造性思维。而这种技术的积累与创造性的思维相结合迸发出来的一种思想,往往能带来一种高效地改进现有测试方法或流程的新设计。

测试设计是一个过程,不仅仅是解决某一个问题的方法,它主要包括测试管理的设计以及各种测试技术应用的设计,其中测试管理中的团队管理方法设计与测试流程设计是重中之重,犹如游戏中的游戏规则。

在软测领域,测试方法众多。从了解软件系统内部程序结构的程度不同来看,可分为白盒测试、灰盒测试、黑盒测试;从程序的运行状态来看,有静态测试、动态测试;从测试人员角色来看,可分为手工测试、自动化测试;从测试阶段来划分,又可分为单元测试、集成测试、系统测试、验收测试(包括Alpha 测试和Beta测试),等等。而这些方法之间是存在交集的,单元测试属于白盒测试,同时可以是动态测试,也可以是静态测试,如代码走查;集成测试可以归并为灰盒测试,是有静有动的结合体;黑盒测试也属于动态测试。对于这些常见专业名称的解释见附录A(专业名称解释)。在进行测试设计,也就是测试之初进行测试的分析时,在测试方法的选择上,面对林林总总的方法,该选取哪些方法或哪些方法的组合是对测试设计人员的考验与挑战。现假如模块S是整个系统的核心,处于系统架构的中间层,它的逻辑处理复杂,向下与底层的操作系统交互,向上给业务模块提供接口。由于这些特殊性,以及其输入与输出在业务层的表现并不那么透明等特点,最后测试设计人员决定采取如图1所示的测试策略,各阶段分别采用不同的测试方法来验证模块以保证它的质量。

6978a8e2b036e30ce6c689981a1a5cc6.png

图1 “业务支持核心层”的测试技术应用设计

通常,一个项目的完整测试过程,它是由多个环节组成的,每个节点的工作重点是什么,该做好哪些工作,哪些环节可以合并,哪些不可以跳过,根据项目的需求与约束,是需要设计(也可理解为策划)的。如图2所示是常见的测试阶段与输出流程图。

66ed4bb597e012daabeaf07d09a09b3c.png

图2 测试阶段与输出

注:图中的实线表示测试环节,虚线为各环节上的输出

21/212>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值