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

上一章说到小艾在功能测试组开始了功能测试的学习,然而对产品知识、软件技能和客户意识有了必定了解的小艾,对整个测试依然有着不解之处,这时,导师为他深刻浅出的解读了功能测试,导师是怎么解读的呢?算法

关于黑盒测试与白盒测试,尽管小艾已经知道了些许区别,但仍是免不了老生常谈一番:微信

黑盒测试是软件测试的主要方法之一,也称为功能测试、数据驱动测试、基于规格说明的测试。测试者不了解程序的内部状况,只知道程序的输入、输出及系统的功能,它是从用户的角度针对软件界面、功能及外部结构进行的一种测试,不须要考虑程序内部逻辑结构。架构

白盒测试一样做为软件测试的主要方法之一,被称为结构测试、逻辑驱动测试、基于程序自己的测试。测试者了解待测程序的内部结构、算法等信息,是从程序设计者的角度对程序进行的测试。学习

在黑盒测试中,对测试人员的基本要求是他要知道软件的外在行为,但没必要清楚软件内部是如何运做的。测试

 

对应的白盒测试就是测试人员知道白盒子的内部逻辑,知道该测什么,怎么测,会获得什么样的结果。设计

所以IBM将功能测试作了以下的定义:3d

    1. 基于软件功能模块的技术设计 - 需求 - 规格说明文档,来验证软件功能模块知足用户对其功能的要求。blog

    2. 目标是测试软件产品的单个功能正确地实现规定的需求和设计文档。同时发现各个功能模块的bug,包括新增代码的错误及修改代码产生的错误。 生命周期

导师告诉小艾,一个好的功能测试人员要成长为测试专家,甚至测试架构师,除了要从执行层面找到本身的手电,可以按照测试计划书及用例找到bug以外,还须要可以制定或理解:资源

    1. 功能测试策略:这是整个功能测试如何进行的基本准则

    2. 功能测试在整个软件开发流程中的生命周期

    3. 测试计划书,测试场景及场景对应的测试用例。

 

策略

测试策略一般是描述测试工程的整体方法和目标,用于规定测试的范围、种类、每一个测试活动该如何制定计划,以及具体测试活动该如何进行等。测试策略是从测试目标、计划、实施、分析全方位给测试人员以方向性指导,用于保证项目的进度和质量符合市场和客户对产品和服务的要求。

功能测试策略做为整个测试策略的一个重要组成部分,其目的是给功能测试人员提供一套策略做为方向指导,通常功能测试策略应该包含但不限于如下方面:

 

功能测试的范围

具体而言,功能测试策略描述并规定功能测试应该在产品测试中覆盖的范围,其中功能测试场景及功能测试用例的重要性须要特别关注。

 

功能测试与其余测试种类的边界及先后承接的条件

对于功能测试和其余测试类型的边界关系,测试中的承接关系必定要描述清楚,这样既能够避免测试漏洞,又能够避免资源的浪费。

 

功能测试中不一样的测试用例的定义与选取

在功能测试中定义功能测试用例时要有不一样的策略考虑,哪些做为可接受性测试的测试用例,哪些做为当前及后续版本的回归测试用例,通常都要描述清楚如何选取及选取的比例。

 

针对于某个产品,或者某个产品的某个版本中的功能模块,或者具体功能解决方案的功能测试策略的描述

产品的不一样功能模块所涉及的技术、实现的原理都有所不一样,所以制定一个比较大的产品的功能测试策略时,要针对不一样的功能模块,制定具体的功能测试策略。

对于功能测试中涉及的诸如访问控制、异常条件、全球化等的策略

功能测试策略对上述都须要有所考虑,才能保证测试覆盖率。

 

功能测试中的自动化测试相关的策略

测试用例自动化开发可以帮助测试人员在整个开发过程当中不断地重复执行测试用例,能够在很大程度上减小测试人员花在回归测试上的工做量。

 

对于功能测试在不一样的环境下进行的策略描述

为了最大限度地在软件交付给客户以前发现问题,使得客户获得一个保障质量的软件,功能测试要在不一样的环境下去实施、验证。这里也涉及为提升测试效率而在不一样环境下按比例分拆功能测试用例的比例。

 

对于所测试的软件的支撑环境的选择和测试用例的比例分配

在功能测试策略中,要对软件的上述支撑环境进行合理而有效的选择,并考虑到测试成本和测试效率及风险。

 

对于软件产品的不一样版本的测试

通常产品都会有不一样的版本:企业版、专业版、我的版……所以功能测试策略中必定要针对不一样的版本作相应的测试策略。

小艾听到导师讲述的策略问题以后,发现功能测试的坑还真蛮深的,目前要想从容应用这些可不容易,仍是先踏踏实实循序渐进作事情吧~ 因而在这时,导师又开始和小艾谈起了流程的问题……

 

流程

一个熟悉各类流程的人,才可以按照正确的方式作事情。功能测试的流程主要用来规范功能测试是如何进行的,它的进入、退出标准是什么。

 

功能测试流程的输入元素

通常而言,对于功能测试,输入的元素主要包含需求说明书、设计文档、代码、产品的构建版本,及产品的文档等,有了这些,功能测试才可以开始最初的计划阶段。

 

功能测试流程的输出元素

功能测试计划书、功能测试场景、测试用例、测试总结、执行记录、缺陷记录、分析报告、交付的产品等。

 

功能测试计划书的准备

不一样功能测试阶段的测试目标、达成目标的总体策略、鉴别功能测试依赖关系及风险、明确各类资源的可用性、创建计划、执行和报告的过程和约定、创建功能测试的重要里程碑及功能测试完成,测试阶段成果的进入/退出标准。

功能测试用例的设计

具体功能测试最细化的信息。一个测试用例是一系列相关的测试条件的逻辑化的拼装。应考虑有效的输入/输出,及无效的、不指望的输入/输出。

 

功能测试计划书的审阅和批准

获得批准的功能测试计划书是功能测试进行的惟一指导,流程包括:计划--准备--审阅--修改--追踪--批准。

 

功能测试的执行

验证产品的所用功能特征都符合产品设计说明书的要求。功能执行的环境必须和产品的创建及用户所使用的环境一致。原则上,任何问题都要在产品发布以前被解决,除非产品发布管理团队批准某一bug能够不在当前版本解决。

 

功能测试状态的报告

状态报告必须是基于客观的事实,要对重要的里程碑、产品质量等作好评估。

功能测试的流程

在需求阶段,测试人员以本身的理解,站在客户的角度上阐述本身的观点,与项目组的不一样角色进行交流与讨论,在学习理解产品功能的同时,将本身做为“客户”的感觉反馈给开发设计人员。

在设计开发阶段,功能测试人员扮演开发人员和“客户”的双重角色,一方面根据需求规格说明书等文档设计测试计划、测试场景,测试用例,并进行测试发现问题,一方面站在客户角度与设计开发人员进行沟通,及时提供软件质量反馈。

在成品测试阶段,功能测试人员要对产品进行充分的回归测试,以确保没有问题遗留或新问题的引入。

功能测试团队必须严格遵循制定的流程,以功能策略为指导,才能保障功能测试的任务可以高质量地完成,交付给市场和客户一个高质量的软件产品。

尾声

在导师的讲解下,小艾明白了测试的策略及流程,但依然不知道应该如何作以及具体作什么,这时候导师又会如何教导小艾呢?请听下回分解~

 

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

相关文章
相关标签/搜索