《笑傲测试》笔记(第六式:伯仲伊吕)

主题:如何制定测试计划

  在测试阶段,测试经理要综合考虑以下影响测试的因素并完美地协调其中各个要素的关系,只有这样做才能避免在测试过程中出现种种意外并影响测试的质量:

  测试组建立、测试范围的选择、测试组的培训、测试平台的选择和配置、测试技术和工具的选择、测试执行的日程和进度、测试用例的设计、维护和更新、测试环境的设计和搭建、测试文档的格式和提交时间、测试入口/出口的checklist、测试组成员的管理和激励机制、测试过程的流程和定义、测试过程的质量监控。

  一、测试团队的建立和组织

  测试团队按照职能可分为四类组织:

  1)测试设计和执行组,这类组织奖占有大部分的测试人力资源,负责测试的设计和执行。

  2)技术支持组,测试中有两种时候会用到特别的技术支持,一是测试工作平台,包括测试用的各类数据库,其维护和支持需要有专门技能的人负责;二是测试环境,测试环境随测试对象的不同而大相近庭。

  3)问题管理组,这些人的职责是处理和跟踪测试中发现的问题,以保证所有发现的问题,在正确的时间,由正确的人,在正确的软件基线上做正确的解决,最后由测试人员在正确的版本上做正确的验证。

  4)质量监控组,负责监控测试本身的质量,以保证测试能够有效和有序的执行。

  二、测试范围的选择

  三、测试团队的培训

  培训分两类,技术类和流程类。

  技术类培训专注于测试中将遇到的技术问题,比如待测产品的技术、设计和方案的培训,测试工具的使用培训等(QA在每次培训前都宣布要针对培训的内容进行考核,有力减少培训中缺席、早退、打瞌睡等现象);

  流程类培训是告诉大家如何按照事先约定的方式去工作(每一个测试活动都有相应的流程指导书,里面会对具体的行为做具体的规定)。

  四、测试平台的选择和配置

  测试团队不借助任何平台的结果:

  1)成千上万的测试用例无法有效管理,测试开始之初无从知道哪些测试用例对此项目是有用的,这将在很大程度上增加测试准备期的工作量。而且对于不同的软件版本进行不同的测试覆盖选择时也会极不方便。

  2)测试人员在测试过程中需要为每个测试用例填写测试结果,但通常测试经理的苦恼在于:如果没有工具有效管理这种行为,那么对于测试的进度无法有效地了解,测试当时的状况,如测试用例的通过率,可执行率等数据都很难实时地得到。

  3)测试中必然会发现问题,问题管理也是一大繁琐的问题,这涉及一个工作流程的问题。

  测试计划阶段需要明确我们即将采用何种测试平台工具来实施测试,在此之后还有一系列的安装、配置、培训和维护等诸多方面的问题需要关注。

  测试平台主要包括:测试用例数据库、测试计划数据库、测试报告数据库、问题跟踪数据库。

  五、测试技术和工具的选择

  测试从技术角度上有多种分类,其实如何分类并不重要,重要的是在某一测试项目中如何筛选适合本项目的技术手段才是最实际的问题。测试中并不是最有技术含量、最有吸引力的手段就一定是最适合的。

  测试计划阶段中需要做的是:了解自己的项目需要什么测试。了解每种测试技术适合的范围。之后得出结论:在本测试项目中,哪种测试技术是最有效的,以及针对这种测试技术需要做出哪些资源和人力方面的准备。

 六、测试执行的日程和进度

  测试经理需要明确清楚地回答这几个问题:什么时间,在什么版本上,出于什么目的,做哪些和测试相关的活动。

  通常的经验,对于软件测试项目来讲,测试要进行至少四轮才有意义。

  1)第一轮,验证功能,提交发现的问题;

  2)第二轮,验证提交的问题是否被修改,同时看是否在修改后引入了新问题;

  3)第三轮,验证性能,假定前两轮测试后那些低级的功能性的错误已经被消灭的差不多了,这时需要创造一些恶劣的环境,来验证软件是否足够强壮;

  4)第四轮,全面验证软件的全部待测点,并根据本次测试的结果评估产品上市的风险。

  并不是所有的问题都是在测试开始第一轮就可以被全部发现,原因有几个方面:

  1)测试人员在第一轮可能尚未进入状态,对待测产品的熟悉还有待提高;

  2)测试进行中,可能有一些问题阻碍了其他问题的发现;

  3)依靠执行测试用例不可能发现100%的错误,软件的功能好比是面,靠孤立的点来覆盖面试完全不可能的。因此测试的主观因素就永远不可避免。测试人员的灵机一动可能会发现很多重要的问题,而这种问题的发现一定要依靠一定的时间和工作量的积累。

  M0(软件项目启动,需求定义阶段)—M1(分布式开发阶段)—M2(总体联调阶段)—M3(产品上市)

  Mo—M1阶段:测试的人才储备期,主要从人力及其培训方面做准备,保证在将来的测试阶段有足够熟练新技术新功能的测试人员;

  M1—M2阶段:测试的技术流程准备期,依据项目明确下来的需求,分别从计划、技术、工具、环境、团队、流程等方面做准备。包括制定测试计划,设计测试用例,搭建测试环境,组建测试团队,明确测试流程等;

  M2—M3阶段:测试的全速实施期,整个测试团队按照之前的准备全速执行测试,力求在最短的时间内发现最多的问题;

  M3后:对测试仍旧极为重要,测试团队需要根据市场的反馈了解产品在市场上发生了哪些情况,协助开发人员复现这些问题,以使这些问题得到最快的定位和修改,而减少在市场上的负面影响。

  测试日程的制定需要根据两个文档,第一是总体的项目时间表,第二是项目的软件版本发布计划。

  制定测试日程需遵循以下原则:

  1)每个软件版本一定要有一个版本基本测试,目的是在最短的时间里判断软件是否值得一测;

  2)在所有功能都集成起来之前不需要进行系统测试,但应该按照集成模块的次序,进行各个子系统的测试;

  3)现场测试盒互操作性测试要在系统测试进行至少两轮之后才开始,以保证最基本的功能性问题已经被发现并解决;

  4)压力测试发生在上市之前的一两个版本上,主要目的是试图复现那些影响较大但复现概率极低的问题。

 七、测试用例的设计、维护和更新

  测试用例是所有测试活动的技术基础,实在是非常值得把时间和人力投在它上面。

  关于用例问题测试部与开发部之间的沟通:

  1)每天开发工程师抽出半小时时间来回答测试人员的疑问

  2)开发的任何一点变化都要在需求变更库中存档,数据库的权限要同时开放给相关的测试人员,测试人员每天都需要在需求变更库中检查这些变更,同时同步地更新测试用例。

  对于测试用例开发,在第一个软件版本发布之前,基本测试用例集必须完成,针对新模块的测试用例必须在该模块第一次发布之前完成。

  测试用例在以下三种情况下必须得到更新:

  1)需求变更库中显示需求方出现了变动,相应的测试用例必须修改;

  2)测试组内部评审时发现测试用例覆盖不够全面时,需要添加新的测试用例;

  3)自由测试中发现了问题,相应的测试用例必须被添加。

  八、测试环境的设计和搭建

  九、测试文档的格式和提交时间

  测试团队对外的输出文档有二:一是问题报告,二是测试报告。测试计划中要清楚地写明对这些报告内容上和时间上的要求。

  测试报告是在测试的某一阶段后,对测试过程的总结和待测短剑/版本的成熟度和风险的评估。

  十、测试入口/出口的checklist

  每一个测试项目的每一个环节都要有清楚的入口和出口的准则,也就是清楚的定义什么情况下测试可以开始和什么情况下测试应该结束。

  软件在提交系统测试之前应该按照事先约定的标准(checklist)进行一定的审查,以避免仓促提交测试再被一脚踢回来。

  测试循环开始的Checklist:

  1)版本的发布是否遵循了《项目软件版本发布计划》?

  2)随着版本的发布,是否一起提交了版本发布说明?

  3)版本发布说明中是否详细描述了此版本与上一版本的区别?

  4)改动部分是否执行了单元测试和集成测试,是否有测试报告?

  5)版本发布前是否对简单功能进行了基本验证?

  6)版本发布说明中是否包含解决问题的列表和未解决问题的列表?

  测试团队自身也要有Checklist,即测试循环结束的Checklist:

  1)该版本的测试报告是否已提交?

  2)测试报告中是否对软件的状态下出了结论?

  3)各子模块测试的报告是否已提交?

  4)是否100%完成了更改问题的验证工作,是否有验证结果的汇总?

  5)该版本上新发现问题的列表是否已提交?

  6)所有遗留问题的列表是否已提交?

  7)所有遗留问题中最严重的TOP10是否已提交?

  8)以上所有输出物是否都按照标准化文档模板书写的?

 十一、测试组成员的管理和激励机制

  我们已经充分地了解了测试的特殊性,它要求测试人员随时保持旺盛的斗志,在强调职业道德的同时,一定的物质激励措施绝对是有必要的。

  十二、测试过程的流程和定义

  测试并不是技术驱动的工作,更多的是管理和流程驱动的活动。

  测试计划中要描述两大部分的流程,第一部分是测试管理流程,可以简单的概括为计划、实施和报告三部曲;第二部分是问题管理流程,规定如何管理、维护和跟踪测试中发现的问题。

  测试团队方面常见的问题有:

  1)有时候问题单输入的质量不高,需要的信息提供不准或者不全,开发人员无法理解问题的全貌,往往需要经过多次沟通才能解决;对于异地开发甚至跨国开发的项目,这种沟通成本是很高而且低效的;

  2)多个测试人员在填写问题单时沟通不够,经常同一个问题多个人多次上报,导致问题单的数目大于实际问题的数目,会给开发人员和问题管理员增加很多重复劳动;

  3)测试人员对于功能的理解不够深入,往往报告一些实际上不是问题的伪问题,这样会增加其他团队的工作量;

  4)验证问题的效率和准确性有待提高,有时候测试人员更喜欢追逐新问题,对旧问题的验证兴趣不高,但是对于项目来说,旧问题的验证却更有价值。

  针对四大问题对测试流程进行修正:

  1)QA需要抽查问题单的输入质量;

  2)测试人员在填写问题单前需要在数据库中按关键字搜索相关问题,只有确信以前没有人提交过时才上报;

  3)增强培训,最大限度减少误报;

  4)在流程上保证验证问题的优先级,规定在一个版本测试中,最先做的就是旧问题的验证。

  十三、测试过程的质量监控

  测试过程的监控应该针对六大关键点:

  1)测试计划的风险评估;

  2)测试文档的质量;

  3)计划实施的质量;

  4)测试报告的质量

  5)问题管理的质量

  6)测试范围与覆盖率的完备性。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-17 13:45:09

《笑傲测试》笔记(第六式:伯仲伊吕)的相关文章

《笑傲测试》笔记(第八式:春寒锦袍)

<笑傲测试>笔记(第八式:春寒锦袍) 主题:如何管理团队以及激励团队 测试是为了先于客户发现问题,这是测试的核心使命. 建立良好的团队氛围,需要考虑这四大要素: (1)管理者的威信 (2)团队的目标和发展方向 (3)团队优先,个人次之 (4)科学的绩效评估和奖励体系 一.管理者的威信 "治军之道,严令为先"统帅要通过严格的法令和纪律树立自己的威信. 威:指权力和能力,其实做一个项目,最考验管理者能力的地方无非是工作任务的分派和人员绩效的评定.对任务的分派,能不能做到人尽其才

《笑傲测试》笔记(前言+第一式:庐山面目)

前言 软件测试的价值与成功更多的源于经验和管理,能不能把一个测试项目计划.组织的井井有条和快速高效,把一个庞大的任务科学的细分并在合适的点上进行监督,用丰富的经验预判并规避可能的风险,这才是决定一个测试项目是否成功的关键.相对开发而言,测试对于实施者个人的技术水平和工具应用上的要求相对弱一点. 孤独九剑+足够的实战经验=测试高手 第一式:庐山面目--什么是测试及其核心价值所在 第二式:蓬门始开--测试的从业人员应该具备的素质 第三式:仙源何处--教你了解主要的测试门类和方法 第四式:矫如龙翔--

《笑傲测试》笔记(第七式:语报平安)

主题:如何书写测试报告 领导们通常是很关注测试的,因为通常只有测试团队才能够提供项目所处的真正位置.这种位置感来源于模块的成熟度.稳定度和主要问题列表.这种信息,我们叫它项目的可视性信息.可视性信息可以分为两类: 1)对内的信息汇总,以测试日志为典型,记录每个测试工程师一天的进度.发现和困难,上报给测试经理: 2)对外的信息发布,以测试报告为典型.测试经理汇总测试的数据和信息,作为项目进度和状态的重要标识上报给项目管理者. 一.测试日志(Test Log) 测试日志是帮助测试经理获取测试信息的重

《笑傲测试》笔记(第五式:浮云遮日)

主题:如何定义测试流程 好的测试流程必须满足一柔一刚两种要求.其柔性的要求是:测试的所有活动能够被组织和定义的平滑高效,实施起来没有阻滞和混乱.而其刚性的要求是:组织中的每个人能够充分了解自己的工作输入条件和输出准则,大家既有检查上一步工作是否到位的权利,又有按时保质保量地完成工作的义务. 所谓开发过程中的正规化,核心就是科学的定义流程和严格的执行流程.一个测试项目成功的关键是各个环节能够环环相扣和紧密配合,这就要求测试流程必须定义的清晰科学. 一.柔性要求:流畅的测试流程 测试的所有活动能够被

《笑傲测试》笔记(第二式:蓬门始开)

要做测试,首先要具备七大素质: (1)自信自尊,充分热爱测试--一般做技术的人喜欢开发甚于做测试,原因有三: 第一:开发人员的成就感更易满足: 第二:在应用技术方面,测试人员对其的领悟是和开发人员不能比的: 第三:测试的性质决定,心高气傲的人,才不愿整天跟在开发人员屁股后面打扫战场:本性温厚的人,也不愿意每天像监工一样,挑三拣四地以挑人家毛病为唯一任务. (2)尽职尽心,以质量为己任--测试人员要牢记自己是对产品质量负责的 (3)有大局观,不为名利所扰--测试人员应该有更高的境界,要审视项目真实

Android群英传笔记——第六章:Android绘图机制与处理技巧

Android群英传笔记--第六章:Android绘图机制与处理技巧 一直在情调,时间都是可以自己调节的,不然世界上哪有这么多牛X的人 今天就开始读第六章了,算日子也刚好一个月了,一个月就读一半,这效率也确实有点低了,自己还要加把劲,争取四月底全部看完,第六章讲的是Android的绘图机制,应该算是比较核心的东西了,不管什么功能,最终都是以图形的方式呈现给用户的,因此,掌握Android的绘图技巧,可以在让你设计应用的时候更加的随心所欲,对Android的理解更高 基本的绘图方法,相信读者都已经

美国媒体评iPhone 4:继续笑傲群雄

本周三,各大报纸发表了对苹果(http://www.aliyun.com/zixun/aggregation/5541.html">Apple)iPhone 4手机的第一轮官方评测报告.一些专业玩家从上周就开始把玩iPhone 4,总体而言,他们比较满意.下面就是其评测报告的摘要: <纽约时报>(The New York Times)大卫•波格(David Pogue):新iPhone驾到,竞争对手要小心了 尽管苹果的iPhone 4出场高调,各方面的反响也很热烈,但现在苹果并

Php-Redis安装测试笔记

 这篇文章主要介绍了Php-Redis安装测试笔记,本文讲解了redis安装.redis测试.安装phpredis扩展.测试php-redis等内容,需要的朋友可以参考下     后端开发用到php操作redis,在此将安装测试过程中遇到的问题汇总记录下来,以便以后参考!(系统为ubuntu) 1.redis安装 下载地址:http://download.redis.io/releases/ 解压安装: 代码如下: tar -xvf redis-2.8.17.tar.gz make sudo m

善用傲游浏览器 和杜拉拉一起笑傲职场

  在这个房价飞涨,物价飞涨,只有工资不涨的时代,广大坐在明媚办公室里的OL们是否也感到背后的凉意呢?如<穿普拉达的魔头>般的上司满怀怒火盯着不经事的你,你凡事得谨小慎微,快想快动,生怕一个不留神就丧失了宝贵的工作机会. 那么,我们可爱的杜拉拉同学是怎样熟练地操作电脑绕过重重险阻最终赢得上司芳心从而成功走上升职通道呢?现在让我来按场景逐一回顾. <杜拉拉升职记> 杜拉拉职场经验一:我只要发现你骗我一次,你就是个不值得信任的人 职场如战场,办公室绝对是个人多眼杂的地方.说不定你一不小