【IT168 技术文章】
MIT(Most Important Test,最重要测试)方法是一种基于系统故障风险辅助规划测试工作的方法,其主要用于自顶向下的系统功能测试、集成测试中。该方法的核心是基于一个测试统计表,测试人员通过几种技术识别需要测试的部分,评估项目的各个组件、特性和功能的风险。这些风险被转化为优先级划分,其中最重要的部分是重点测试部分,其优先级会最高。
在理想情况下,测试人员完成透彻的分析后,向管理层提交测试计划,协商完成复杂测试工作所需要的时间和必要的资源。这种方式比较适合我们外包项目的测试工作。整个测试工作在系统交付测试和系统上线之前被跟踪。当然如果与客户的合同上有约定,则跟踪可延长到系统上线后的一段时间。在测试工作大多情况下,为了使测试工作满足规定的时间段,需要进行权衡,MIT方法则提供了我们一些有助于确定权衡策略的手段。
MIT能帮助我们外包测试团队做什么呢?
在做测试计划阶段,MIT方法为确定适合规定时间段的测试工作量提供了手段。该方法可以使项目经理和测试人员看到权衡资源的影响以及与各种时间限制和与测试策略有关的测试覆盖率,MIT方法使用工作表和枚举方法度量每种权衡策略的开销时间或节省的时间。MIT工具,如工作表,我们可以把工作表同常用的测试管理工具相结合,尽量不进行重复的工作,但是使用工作表更直观,更容易进行汇报和沟通。而我把其方法中的测试说明理解为我们现在所说的测试需求,作为在实际测试工作中协调资源和时间段的辅助手段。
在测试阶段,MIT工具跟踪测试过程并确定测试工作的合理结束日期。使用S曲线进行评估、测试跟踪及状态报告。S曲线宏观地显式了测试和系统的状态。曲线说明了在系统中发现错误的速度和量级。还能提供我们可移动的测试工作结束时间点及清楚地表明测试集被执行完成时发现错误的能力。
而对于我们做CMM3认证来说,MIT方法度量测试工作的效果,以便在以后的测试中调整和改进测试方法、测试需求和测试用例。使用基于测试周期中发现错误的百分比的效果度量对测试覆盖率的有效性进行评估,基于这种度量,在以后的测试工作中对测试需求和测试用例进行调整和改进。
MIT的工作过程是通过回答下面的8个问题来完成的。而这里我在这里更多是结合外包测试进行理解分析。
1、 我们对项目有多了解?
2、 测试工作量有多大?
3、 如果我们不能测试所有测试项,应该测试什么?
4、 测试工作将持续多长时间?
5、 测试开销是多少?
6、 如何标识要执行的测试?
7、 我们能满足进度要求吗?我们的测试充分吗?
8、 测试工作成功吗?测试覆盖率适当吗?测试工作适当吗?
1、 我们对项目有多了解?
通过对测试需求的整理可以回答这个问题。这个测试需求包括我们分析客户显式需求和我们必要要考虑的一些隐含需求。我们做外包测试,往往在项目还没有开始,就需要我们提供对这个项目的工作量评估。而工作量的评估也恰恰是建立在对项目了解的基础上的,对项目越了解,评估约准确。
2、 测试工作量有多大?
这个问题是外包测试项目中,客户最关心的。上面问题也提到了,通过列出所有的测试需求,这样能够比较容易的统计出需要设计的测试用例。这样比较容易评估出设计用例的时间,执行用例的时间,再通过每个测试活动需要的轮次,修复时间等大约估计出测试工作量。
3、 如果我们不能测试所有测试项,应该测试什么?
当然是最重要的内容!所以为了标识哪些是重要内容,需要使用分级等级,将测试分为有限等级,然后使用MIT风险分析从测试需求中确定最重要的测试集。所以我们在测试需求和测试用例使用分级来划分测试范围,这样在评审时,比较方便讲解哪些是本次测试内容,而哪些不是测试内容。
4、 测试工作将持续多长时间?
一旦完成了标识测试需求集,就可以填写MIT规划工作表对工作进行规划和评估。建议在测试需求集首先使用可以导入到测试管理工具的Excel表格填写,后面有字段标识每个测试需求对应的测试用例数量,执行所需要的时间,建议把时间划分到工时。
5、 测试开销是多少?
与产品经理或客户项目经理协商执行测试工作所需要的资源。通过规划工作表,可以计算在希望的时限内完成测试工作需要多少测试、测试人员和机器等。通过该工作表可以理解和解释为满足系统上线日期的进度要求,对资源和测试覆盖率所做的权衡。
6、 如何标识要执行的测试?
用MIT分析和测试说明首先选择最重要的部分,然后执行业务流程和数据分析确定运行在这里内容上的最重要测试。一旦你为测试需求中的每一项确定了最重要的测试,重新检查你的测试需求和规划工作表以确保进度仍然是可行的,必要的话再次进行协调。开始执行测试并根据需要开发新的测试。将新测试加入到测试需求中。
7、 我们能满足进度要求吗?我们的测试充分吗?
用S曲线跟踪测试进程有助于确定测试工作的结束点。S曲线是先很多工具都支持的数据统计工具。
8、 测试工作成功吗?测试覆盖率适当吗?测试工作适当吗?
用效果度量回答这些问题并改进以后的测试工作。上次完成的历史记录是本次改进的非常好的起点。如果工作采用方法的,可再现的方法,则可重复和改进可能性就越大。对于我们外包项目测试过程中,要通过不断地进行统计、分析和度量,不断地评估测试覆盖率。
9、 测试有效性如何保证?
在我们的测试外包项目中,通过在每个测试阶段中的每个测试活动引入同行评审和项目组评审来保证整个测试过程符合测试规范要求。这种方式控制交付物的质,而通过QA审计来保证测试活动提供的量满足测试交付物的要求。这样通过保证测试过程的质量来保证测试结果的质量,过程的有效性来保证测试结果的有效性。