黑盒测试和白盒测试_白盒测试与黑盒测试的实际应用场景

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⿊盒测试和⽩盒测试_⽩盒测试与⿊盒测试的实际应⽤场景
在软件测试⼯作中,为充分利⽤现有的时间和资源条件,提⾼测试效率和测试充分性,当前有多种⽅法辅助测试⼈员完成测试⼯作,推进项⽬进度,其中最普遍的莫过于⽩盒测试和⿊盒测试,⽩盒测试和⿊盒测试的概念和常⽤⽅法在已有理论研究中都有充分的论述,但是具体应⽤场景则需要测试⼈员根据测试任务特征和时间安排合理选⽤。

作为⼀名⾮计算机科班出⾝的技术⼩⽩,两年有余的业务验收测试和系统功能测试收效明显,从最开始只能看着需求和业务规则,结合个⼈感觉盲写案例,到现在已经可以根据项⽬特征和业务场景,混搭等价类划分、边界值分析和逻辑覆盖、基本路径各种⽅法写案例做测试。

基于个⼈⼯作经历和测试经验,以下对⽩盒测试、⿊盒测试和灰盒测试的应⽤场景进⾏适当的推荐,仅供各位同⾏参考。

⼀、⿊盒测试
⾸先从简单的开始,⿊盒测试不要求考虑程序的内部逻辑和数据处理,不要求测试⼈员遍历代码阅读程序,只需要明确输⼊输出规则,确保系统或模块实现了业务需求。

(1)建议在对稳定运⾏的⼤中型系统进⾏⼩规模的功能优化或改造过程中使⽤⿊盒测试⽅法,只需要明确当前项⽬的改造点,确认与已有功能的关联性和影响,针对项⽬改造范围进⾏测试,⾮特殊情况⽆需了解系统或模块的全部处理逻辑。

(2)建议复杂度和重要性较低的系统,在时间精⼒有限的情况下优先选⽤⿊盒测试⽅法进⾏测试。

测试⼈员⾸先明确业务需求,使⽤等价类划分和边界值分析⽅法完成测试案例设计,适当结合程序特征、个⼈经验以及冒烟测试情况等对测试案例进⾏修订补充,在系统⽆重⼤问题或异常的情况下,⼀般⿊盒测试即可满⾜该类系统测试要求。

(3)建议适当考量测试⼈员或测试团队专业技术能⼒以及测试阶段,如在系统功能测试已经完成的前提下,业务⽅执⾏的业务验收测试可以使⽤⿊盒测试⽅法,降低了团队组建成本和测试成本,⽆需要求业务⼈员对代码和软件逻辑进⾏充分学习和掌握。

⼆、⽩盒测试
⽩盒测试要求测试⼈员对代码和程序逻辑有相应了解,对测试⼈员专业背景或能⼒有⼀定要求,建议根据项⽬需求和测试要求选择测试⽅法。

(1)⼀般单元测试及集成测试需要使⽤⽩盒测试⽅法,包括代码检查法、静态结构分析法等,相关测试多由开发⼈员完成,具体视项⽬团队分⼯⽽定。

(2)建议针对新建系统或已有系统新增重要模块时使⽤⽩盒测试⽅法,例如逻辑覆盖或基本路径测试法,尤其推荐在有较多校验关系且校验关系间存在嵌套时使⽤,使⽤时⼀般可参考程序代码、详细设计说明书、程序控制流图等相关资料,帮助减少测试⼈员的分析⼯作量等。

(3)建议对重点系统进⾏架构优化、对公共函数或程序进⾏改造、对后台或接⼝内容进⾏调整时选⽤⽩盒测试⽅法,⼀⽅⾯关注优化改造后对原有程序的改动⼤⼩,⼀⽅⾯关注调⽤⽅或消费⽅是否受影响,新版本程序或系统对旧版本的兼容性,避免关联系统由于改造时测试不充分受到影响。

(4)建议关注测试中的集群现象,对于缺陷或问题集中的功能和模块建议及时由⿊盒测试⽅法改为⽩盒测试,在缺陷管理过程中及时进⾏⼩范围的测试⽅法调整,同时保证测试效率和测试充分性。

在两年多的测试⼯作中,本⼈主要参与柜台业务系统、客户定制化应⽤等不同系统或项⽬的测试⼯作。

其中柜台业务系统因为系统成熟、运⾏稳定,当前较为常见的是监管或业务等⽅⾯要求的⼩规模优化改造,例如增加校验、增加授权、更改权限级别、减少展⽰信息等,相关项⽬⼤多对当前内容或当前程序逻辑影响较⼩,通常采⽤⿊盒测试即可。

在银⾏对公业务尤其是⼤客户服务领域,定制化应⽤或功能较为常见,运维或客户需求改变导致的⼩规模优化可以选择⿊盒测试⽅法,⽽新建系统或模块或功能测试需要尽量充分,⽩盒测试⽅法可以⽤于辅助案例设计,尤其校验关系较多且存在嵌套时,使⽤基本路径法设计要素级测试案例可以最⼩化案例数量,同⼀思路还可以⽤于设计流程级测试案例。

近期⼀次新增模块测试中在流程案例设计就使⽤了基本路径法,核⼼交易共有3个不同的流程,3个流程共有4种组合,每个流程涉及最少4⽀联机交易,最多8⽀联机交易,每个流程另外涉及最少3个定时交易,各流程起点以外的交易有正反两种状态,⼀个对象在每个流程中流转时会有15-20种状态,在测试⼈⼒有限且项⽬周期紧张、测试交付延误的情况下,测试⽅的压⼒巨⼤,穷举测试的⼯作量完全不可接受,要保证案例充分覆盖功能点,使⽤⽩盒测试中的基本路径法是⾮常有必要的,确认程序节点,画出程序控制流图,分析控制流图的环路复杂性,导出基本路径集合并进⼀步设计测试案例,由此保证测试充分并尽量压缩测试⼯作量⽆论对测试⼈员还是对整体项⽬都⾮常有意义。

总⽽⾔之,其实各种⽅法最终还是为软件系统服务,测试⼈员可以结合项⽬情况、时间成本、个⼈偏好适当选择,“不管⿊猫还是⽩猫,抓得住⽼⿏才是好猫”,不论使⽤哪种⽅法或⽅法组合,能在适当的时间和成本下发现尽量多的缺陷和问题,保证系统按时上线稳定运⾏才是最重要的。

相关文档
最新文档