重读《从菜鸟到测试架构师》-- 对黑盒子的全方位照明

上回说到,小艾学会了分而治之的方式来将模块细化做功能测试,这样的好处是更容易找到bug,但尽管容易找bug,并不表示bug就能完全被找到,而不被交付到客户手里。也出于对客户发现的bug进行分析,组长告诉小艾,不仅仅需要分而治之,也需要合而治之。

上一章我们也提到一个名词:跨模块/解决方案的功能测试,即功能集成测试,其实这就是为了确保所有的功能特征,或者User Story在一个产品或应用的开发过程中能够被彻底测试,而对产品的各个模块或者解决方案,按照用户的使用方式,根据模块/解决方案间的逻辑关系,设计跨越多个模块/解决方案的端到端的功能测试场景和功能测试用例,利用其对系统进行全面的功能测试。

找到小盒子间的虫子——合而治之

在开发跨模块/解决方案的功能测试场景时,一个重要的策略是对商业逻辑的梳理,明确可能的实际商业场景,通过对实际商业场景的理解,开发出跨不同模块/解决方案的端到端的功能测试场景。

另外一种就是基于模块之间的消息传递,进行技术层面的验证,确保技术上的正确性,还有就是基于不同产品之间的集成,做产品集成的跨产品的集成测试。

跨模块/解决方案功能测试的测试场景应该被定义为:通过一个模块或者解决方案的不同的输出及这些输出是怎么作为其他模块或者解决方案的输入,而定义的能够体现这种整合或者合并的功能测试场景。

说完上述的定义之后,组长告诉小艾这么做的目的是能够确保基于实际的商业流程,以及数据流程的测试完备性。

举个栗子

在跨模块/解决方案的情景下,有一个很典型的例子,假设某电商网站有两个模块,其一用作产品管理,其二实现搜索功能,两个模块是不同的测试人员进行测试且通过的,会不会有一种情况,当我们在产品管理模块将某产品进行删除操作,但依然能够被用户搜索出被删除的产品?

答案是有可能的。原因可能是同步机制没做好,可能搜索产品使用了缓存技术,由于缓存原因即使产品被删除,也同样能够被搜索。

有的产品是基于模块开发,其本身就是由若干个小的产品组成的,因此进入集成开发阶段时做的测试也是一种常见的“合而治之”的例子。

有些产品会需要与不同产品进行集成来互相取长补短,完成真正的用户商业流程,在这样的应用开发场景中,需要做充分的产品集成测试来确保功能、性能的可靠性。

无论是上述哪种情况,都要充分理解实际的商业需求和流程,进而定义完备而准确的功能测试和测试用例来做到对黑盒子的完全照明。

策略高手

通过这段时间对功能测试项目的完整参与,小艾不仅积累了丰富的执行经验和各种功能测试技能,同时在组长的帮助和自己的努力下,对功能测试的测试策略也有了比较深刻的体会,于是,小艾做出了如下的总结:

功能测试范围

在定义功能测试范围时,要兼顾功能测试的各个不同层面,如UI Testing(界面测试),与API/Command level Testing(API或者命令层的测试)的测试用例的比例关系。

与其他类型的关系

一个大型产品的测试都是复杂的,会涉及不同的测试类型。在考虑功能测试的时候,一定要考虑到和其他测试类型的交叉与依赖关系,这里需要提到的是,被选为回归测试的功能测试用例的通过,往往是性能测试开始的标志。而从测试环境的选择上考虑的话,除了要在纯粹的运行时环境中测试产品的功能之外,还要考虑在客户化的环境及移植后的环境去测试产品的功能来保证在这些环境里功能能够正常运行。

测试覆盖率和测试效率

从功能测试的目的来说,一方面要保证测试d完整性,达到最大的测试覆盖率,另一方面,从实际项目开发的角度看,做到100%的没有任何bug的测试是不可能的,因此要充分考虑测试的效率。

功能测试用例自动化开发的策略考虑

自动化对于功能测试是否重复执行是非常关键的。在功能测试策略的层面一定要定义自动化开发的范围,方法,标准,这是功能测试用例重复执行的基线。

功能bug的问题分析

策略层面要明确问题分析的一些具体要求,如提供一系列标准信息来帮助开发人员更好地理解问题、发现问题,找到解决方法。

工具和模板

定义合适的功能测试工具和各种测试模板是功能测试能够高效进行的策略考虑之一

尾声

迄今为止谈到的功能测试可以说是小艾亲自参与的,关于在大型应用的某版本中对于新功能在开发流程中各个不同阶段,如何发现隐藏的bug,保证软件质量来进行的针对这些新功能的功能性检查,其实对于一个大型应用的功能测试,从策略的角度,要考查的东西远不止这些。下一章我们就来看看小艾还学到了哪些与功能测试相关的内容~

想要第一时间看到这一系列文章的更新及更多精彩内容可以扫描下面二维码关注微信公众号: 倚楼听风雨的如月

时间: 2024-10-07 06:58:41

重读《从菜鸟到测试架构师》-- 对黑盒子的全方位照明的相关文章

重读《从菜鸟到测试架构师》-- 职业生涯的考虑

都说万事开头难,小艾作为菜鸟测试工程师加入到测试项目团队,努力学习着关于测试入门的知识.有了基本的知识及对测试的领域有了一定的认识之后,小艾开始思考自己的职业生涯应该有什么样的前景?测试工程师是一个专注程度很高的技术背景职位,但小艾并不清楚自己未来无论是在技术还是管理上有哪些可以选择的发展方向,更别说如何选择方向了. 于是,热心的导师再次登场,为小艾深入剖析技术与管理道路的发展路线. 测试工程师的技术发展路线 在职业发展起步期,测试工程师可以先把自己定位为某种专门测试的专家,如功能测试专家.系统

重读《从菜鸟到测试架构师》-- 黑色的盒子里面有什么(上)

上一章提到,由于研发组工作繁忙,小艾被派遣过去协助做开发工作,在协助过程中,小艾明白了单元测试是怎么回事以及如何进行,也就是说,小艾接触到了白盒测试的相关知识.伴随着开发进度的有序进行,小艾回到了测试团队开启了新一轮的测试旅程. 可是在工作中,对着可执行的程序不知道从哪里入手,毕竟之前一边读代码,一边调试来找问题,十分得心应手,这下倒好,没有代码可以看可以调了-- 小艾的功能测试第一课--准备手电 功能测试,其实是很简单但是又不那么简单的一件事,简单到一句话可以描述其定义,难却也难在要做到这句话

重读《从菜鸟到测试架构师》-- 开发人员也需要做测试

小艾经过了安装测试的历练,明显对软件测试又有了更深刻的了解.而在进行测试过程中,小艾遇到一个导致他手里大部分case失败的bug,而这个bug的幼稚简直令小艾忍不住想骂开发人员. 而就在小艾质疑为什么开发人员没有发现这么简单的bug的时候,小艾作为支援人员被调进了开发组协助开发工作,忙碌的开发组也立刻给小艾下达了第一份任务,完成某user story的代码开发及单元测试. 可是小艾的编码能力有限,紧赶慢赶才在限定的时间里完成了开发任务,没时间做单元测试了,只是简单测了测,就提交了代码,于是出现了

重读《从菜鸟到测试架构师》-- 客户的圣经之用户手册验证

有朋友看出来了,最近几篇文章很短,一方面,是这几个章节写得内容相对较简单,所以内容比较简短,还有一方面是我这几天相对比较忙,这篇文章也依然保持其篇幅小的特征,不过在这里可以保证,文章尽管短,但依然一字不落地将值得阅读的文字搬了上来,方便大家阅读学习~ 上一回说到小艾明白了安装测试中安装与卸载的测试用例如何保证质量,兴致冲冲地小艾回到座位之后,依据自己学的内容再次投入到工作中,可是,小艾却犯了一个连自己完全没有意识到的错误,幸好,组长在检查小艾的测试报告时发现了,这个错误就是用户手册没有及时认真进

重读《从菜鸟到测试架构师》--安装自动化测试

前面说到小艾明白了用户手册的重要性,小艾到这里已经对安装测试的内容及测试流程有了基本的熟悉,但他在与别人交流的时候发现无论是功能测试还是性能测试都是自动化进行的,于是产生了一个疑问,安装测试是否也可以自动化?如果可以,应该怎么做呢? 效率的提高从自动化开始 从组长的谈话中小艾得知,自动化测试是测试的发展方向和趋势,能够大幅度提高测试的效率.减少了人工干预,一旦测试用例需要重复执行的次数越多,自动化后能节省的成本也就越高,投资回报率也越高. 计算机最适合高速连续地执行确定的任务,而这如果用人脑来执

重读《从菜鸟到测试架构师》-- 模拟客户的访问行为(上)

上一章,我们跟着刚刚进入性能测试组的小艾一起初识了什么是性能测试,也知道了客户在性能上都关注了些什么,在组长的教导下,小艾明白了,想要让用户得到最好的性能体验,最简单有效的方法就是模拟客户使用产品时遇到的访问行为,这一章节就来聊聊如何来模拟客户的访问行为呢? 更真实更高效的模拟--自动化的性能测试 如果说功能测试还有手动测试和自动测试的选择,那么,性能测试则不可避免地要用到自动化测试,即通过程序来模拟实际用户对于网站的访问行为.这里大家可以思考下为什么性能测试必须使用自动化来测试~ 既然说到需要

测试架构师修炼之道: 1 软件测试工程师的职业规划

测试架构师修炼之道: 1 软件测试工程师的职业规划 2016-08-11 1 软件测试的职业发展方向 1.1 管理 表1 管理级别区分 管理级别 职位 工作年限 属下 测试对象 职责 初级软件测试管理者 测试组长 两年 2~5 一般负责产品的一个或多个特性. 1.   测试计划的制订和执行2. 负责产品重点.难点的测试3. 负责带新员工 中级软件测试管理者 测试经理. 测试代表.测试主管 4年左右 10~20 产品 1.   最重要的工作还是运作测试项目,制订并执行测试计划,测试结束后还需要对产

测试架构师修炼之道:4 如何才能制定好测试策略

测试架构师修炼之道:4 如何才能制定好测试策略 2016-08-18 目录 1 理解测试策略  1.1 什么是测试策略?  1.2 测试策略等于测试方针?  1.3 测试策略等于测试计划?  1.4 测试策略等于测试方案?2 四步测试策略制定法  2.1 明确“产品质量目标”  2.2 进行“风险分析”  2.3 适配“产品研发流程”  2.4 进行“测试分层”  2.5 “四步测试策略制定法”中的测试技术3 产品质量评估模型  3.1 优秀的产品质量评估模型的特征  3.2 软件产品质量评估模

老李分享:测试架构师

老李分享:测试架构师 测试架构师是对测试过程的各个领域都具备一定专业技能的人员,主要任务是把测试开发的需求转化为可以实现的抽象设计和具体设计,并完成相应的设计文档.同时,测试架构师还需要把业务化的需求转化为技术化的功能性需求及非功能性需求.测试架构师需要参与测试开发各个阶段,也作为审核人员对设计和测试开发计划进行审查.测试架构师的技能特点是,具有更高视角,对测试技术的发展方向能够有全局的把握,对测试技术和业务也有深刻的认识.