基于风险的测试,几乎每个测试人员或多或少在测试实践中运用它。对于基于风险的测试设计,测试人员首先需要考虑的就是风险在哪里?即识别和分析测试对象中的风险是进行基于风险的测试设计的前提条件。
基于风险的测试设计可以采用的技术包括启发式分析方法、攻击,以及失效模式和影响分析FMEA,其中启发式分析方法由从内到外的启发式分析方法INSIDE-OUT和从外到内的启发式分析方法OUTSIDE-IN组成。本文将对INSIDE-OUT分析方法进行简单的描述。
INSIDE-OUT的基本思路是从具体分析测试对象的详细信息和背景信息入手,识别与之相关的风险。采用该方法,测试人员在学习测试对象时需要不断地提出这样的问题“这里可能会存在什么样的风险”。更加正确地说,针对测试对象的每个部分,测试人员需要回答下面3个问题。
°弱点Vulnerabilities:测试对象有何种弱点或者可能的失效?
°原由Treats:测试对象在何种输入或者情况下会导致出现缺陷和弱点,并且触发测试对象出现失效?
°影响者Victims:弱点或者失效的影响对象是谁?其影响程度有多大?
INSIDE-OUT分析方法需要测试人员深入了解测试对象,例如:深刻理解测试对象的具体技术实现。INSIDE-OUT并不一定只是局限于测试团队内部,也可以和开发人员合作进行。其常用过程可以是在带有黑板/白板的会议室中测试人员询问开发人员相关的问题(如这个功能是如何实现的?);开发人员在黑板/白板上画出相应的原理图,并讲解测试对象的内部工作过程;同时测试人员在开发人员画原理图时,快速地思考一些问题。
INSIDE-OUT通过这样的一个过程,测试人员和开发人员之间可以很快的在测试对象工作原理方面有相当的认同。在测试人员存在疑虑或者不清楚时可以立即询问开发人员。在了解测试对象的工作原理之后,测试人员即可开始查找其中的弱点或者可能的失效。下面是测试实践过程中对INSIDE-OUT分析方法的模拟应用。
下面是开发人员和测试人员进行INSIDE-OUT的一个模拟场景,测试人员提出有关问题,开发人员解释或者思考每个问题:
(1)测试人员指着测试对象原理图中的一个模块问道:“如果这个功能失效,会发生什么现象?”
(2)这个功能模块会不会在不恰当时被调用?
(3)测试人员指着原理图中的某个部分问道:“ 这里有没有相关的错误检查功能?”
(4)测试人员指着原理图中的某个箭头问道:“ 该箭头的具体含义是什么?如果这个箭头的通路不通,后果是什么?”
(5)测试人员指着原理图中的某个数据流问道:“ 如果这个数据流出现中断,如何发现这个问题?如果没有发现这个问题,会出现什么后果?”
(6)这个功能能够处理的最大并发用户数是多少?具体的性能如何?
(7)这个功能和其他功能之间是否存在交互?
(8)对这个功能最没有把握的部分是什么?从开发人员的角度应该如何测试?
|
上面的场景并不是一个完整的INSIDE-OUT方法,因此测试人员得到的也不是一个完整的问题列表,但是以这种方式开始沟通和交流是测试工作的一个好的开端。在开发人员回答相关问题时,测试人员可以了解开发人员的关注点,以及在哪些地方存在不确定或者犹豫不决。从而可以判断开发人员在哪些地方可能没有完全理解需求或者设计要求,而这通常是测试对象的风险所在。在识别风险的过程中,测试人员通常也会考虑如何测试并评估和管理这样的风险。
通常这样的讨论会持续时间在一个小时左右,经过讨论测试人员通常能够更加清楚地了解测试对象。并且对可能的风险有一个初步的印象,从而可以帮助确定后续风险列表和测试策略。
INSIDE-OUT方法的优点很明显,但是该方法的高效应用需要测试人员和开发人员之间具备很强的沟通能力和良好的合作关系。当然测试人员也可以针对测试对象单独识别风险。不过,这样会导致测试工作量的增加和效率的降低,因为测试人员需要独立地学习、理解和分析测试对象。
更多资料,欢迎访问:http://blog.csdn.net/Wenqiang_Zheng
分享到:
相关推荐
ISTQB AL-TA(ISTQB高级测试分析员模块)主要是针对测试业务分析人员而设立的知识和实践。
ISTQB,全称为International Software Testing Qualifications Board,是一个国际软件测试资格认证的组织,负责开发和维护软件测试认证体系。ISTQB提供了从初级到高级不同层次的认证考试,其中高级测试分析师...
- **测试技术分类**:按测试依据的不同将技术分为基于规格说明的测试(黑盒测试)、基于结构的技术(白盒测试)和基于经验的技术等。 - **选择测试技术**:根据项目特点选择合适的测试方法。 ##### 5. 测试管理 - ...
ISTQB(国际软件测试认证委员会)是全球范围内广泛认可的软件测试资格认证机构,它为专业人士提供了一系列层次分明、结构完善的测试认证体系。本压缩包文件聚焦于ISTQB的高级认证,包括测试经理(Test Manager, TM)...
- **基于缺陷和基于经验**:利用已知缺陷或经验来指导测试设计。 - **静态分析**: - **代码的静态分析**:无需运行程序即可检查代码质量。 - **架构的静态分析**:评估软件架构的合理性。 - **动态分析**: - **...
关键词如:测试计划(test plan)、主测试计划(master test plan)、产品风险(product risk)、项目风险(project risk)、质量风险(quality risk)、风险管理(risk management)等,都是测试经理必须理解并掌握...
"ISTQB-CTFL-1-测试概论"涵盖了测试领域的基本概念、原理和实践,为备考者提供了全面的学习框架。 测试概论是CTFL认证的基础,它旨在确保考生对测试的重要性、目的和角色有清晰的理解。大纲分为6个主要章节,每个...
本书作为《高级软件测试》系列的第三卷,专注于技术测试分析师(TTA)的角色和技能。它延续了前两卷的主题——测试分析师(TA)与测试经理(TM),构建了一个全面的高级软件测试知识体系。虽然市面上已经有了更新...
- **基于经验的技术**:探讨了基于测试人员经验和直觉的方法。 - **技术选择**:指导如何根据不同情况选择合适的测试设计技术。 ##### 5. 测试管理 - **组织结构**:解释了测试团队的构成及其角色职责。 - **计划与...
根据提供的文档标题“ISTQB-2010-2011 500道模拟题答案”以及描述“Answers-to-500-ISTQB-Sample-Papers-2010-2011.pdf”,我们可以看出这是一份关于ISTQB认证考试的模拟试题答案集。ISTQB(国际软件测试资格认证...
国际软件测试资质认证委员会是国际唯一全面权威的软件测试资质认证机构,主要负责制订和推广国际通用资质认证框架,即“国际软件测试资质认证委员会推广的软件测试工程师认证”( ISTQB Certified Tester ) 项目。...
ISTQB(International Software Testing Qualifications Board)是一个国际性的软件测试资格认证组织,其认证被广泛认为是软件测试领域的权威认证之一。ISTQB的基础级认证主要面向初学者和有一定经验但希望获得正式...
17. **Risk-Based Testing (基于风险的测试)** - **定义**: 基于风险的测试是指根据项目风险优先级来设计和执行测试的方法。 - **应用场景**: 适用于所有类型的软件项目,尤其是在资源有限的情况下。 18. **Test...