当前位置:
文档之家› 软件测试方案设计能力解决方案
软件测试方案设计能力解决方案
ET测试对象分析法
2013-7-17
版本 VPPT1.0
ET测试模型(软件测试只需要ST测试么?)
2013-7-17
版本 VPPT1.0
•
功能测试模型(Web表层):一些常用功能的测试思路的大集合(增删改查,web页面测试等)
– – – 模块内部数据; 模块间传输数据; 模块与外部接口间数据
•
例子:打印机功能
– – – ——打印文档的类型 ——文档里面的元素,文档的大小和结构 ——关于怎么打印的数据(比如zoom factor; no. of copies)
基于数据流图的数据分析; 基于序列图数据分析; 基于状态机数据分析;
– – – – – – 基于风险的预测分析、检查技术 Risk; 基于覆盖的分析、检查技术Coverage; 基于证据的分析技术 Oracles; 基于历史资源的猜错技术/技术顺序及条件约束的分析技术;Resources/Constraints; 基于数据及数据耗费的分析技术Value/Cost; 基于已有问题或程序员的个性问题Bugs .
测试分析设计能力不足的现象
2013-7-17
版本 VPPT1.0
测试分析能力提升
2013-7-17
版本 VPPT1.0
•
减少测试分析的随意性,增强测试分析的确定性。
测试分析设计技术全景图
2013-7-17
版本 VPPT1.0
测试技术
2013-7-17
版本 VPPT1.0
• • •
什么是技术?测试需要技术么? 技术= 解决问题的方法 开发软件:
– – – 如何解决准确理解用户需求—需求工程的方法论; 如何解决让开发的软件重用更高,维护更容易架构重用的设计方法论; 如何让代码易维护一代码圈复杂度的方法论;
测试分析的技术关键在于Coverage
2013-7-17
版本 VPPT1.0
• 需求分解6个层面: – Structural Coverage(结构化覆盖 ) – Functional Coverage(功能化覆盖) – Data Coverage(数据化覆盖) – Platform Coverage(平台化覆盖) – Operations Coverage(用户操作覆盖) – Time Coverage(时间序列覆盖) – 补充:Reliability Coverage (依赖关系覆盖)
ET测试模型(为什么我们要了解实现?)
2013-7-17
版本 VPPT1.0
• • •
线下bug模型(基于实现原理):基于线下测试发现的优秀bug抽象的模型(主要针对于常出现bug的 地方,提出注意事项) (1) 多线程创建,更新,删除某类数据, 多线程方式包括同时打开多个页面或浏览器;使用工具多 线程并发操作来校验数据操作的原子性 (2) 多浏览器或一个浏览器里多个Tab进行测试,考虑cookie里面的值的变化是否影响后续的操作; 或使用场景探索模型去多角度校验页面信息和数据库数据的正确性
Structural Coverage(结构化覆盖 )
2013-7-17 版本 VPPT1.0
• •
•
•
Structural Coverage Analysis: 原文:Structural coverage analysis,requirements coverage will have been accomplished and reviewed before structural coverage anprovides a means to confirm that "the requirements-based test procedures exercised the code structure“ Recall that in the flow of testing activities alysis begins. The subsequent structural coverage analysis reveals what source code structure has been executed。 翻译:结构化覆盖分析提供了一种手段,以确认“基于需求的测试是否完整的覆盖了代码 “。通俗 的来说,可以看作为白盒测试。它的原理是将被测对象基于模块、函数、方法级拆分,并通过判定 覆盖、路径覆盖、 LCSAJ覆盖 、条件操作数覆盖、条件运算符覆盖、布尔操作的有效性覆盖。 例子:打印机功能
• • •
汽车发动机设计技术(目标、解决问题:更高的动力、更省油、更快的加速方法) 技术高低的差异标准是什么?
– – – 基本差异:知识方法系统化,工作思路严密,做事精细(有创新解决问题的能力更佳) 做事随性,东打一下西打一下。如果是软件设计,结果如何?如果是代码开发,结果又如何? 如果是设计汽车发动机,结果又如何?如果是我们的汽车的检查环节,结果如何? 工程师有创新能力,更强的分析能力,设计能力;
– – 数据升级、数据迁移、数据毁坏产生的影响; 测试环境产生的影响; ——打印机,Spoolers,network behavior ——计算机 ——操作系统 ——打印机驱动程序/设备 基于程序架构的分析(包括:组件、抽象接口); 基于测试环境的分析(包括:硬件、软件、程序内核、公共SDK); 基于程序依赖关系的分析(包括:硬件、软件、Lib库、第三软件版本);
•
例子:打ห้องสมุดไป่ตู้机功能
– – –
•
常见的分拆技术:
– – –
•
可以看到这个时候我们关注的是产品的功能或特性。
Data Coverage(数据化覆盖)
2013-7-17
版本 VPPT1.0
• • •
Data Coverage Analysis: 数据化覆盖分析是一种手段,简单的说就是注重数据从起始到终结所有形态、变化、序列。 主要分为以下几个部分:
关键活动
2013-7-17
版本 VPPT1.0
• • • • •
Knowledge: Product Story; Technical Knowledge; Domain Knowledge; General knowledge. Analysis: Risk; Coverage; Oracles; Resources/Constraints; Value/Cost; Bugs . Experiment: Configure; Operate; Observe; Evaluate. Testing Story: Test Plan/Report; Work Products; Status. Analysis:
测试分析与设计知识获取
2013-7-17
版本 VPPT1.0
需求点分析
2013-7-17
版本 VPPT1.0
• • • • • • • • •
测试需求不仅是静态对象,还包括动态对象; 测试需求就是需要被后面的测试分析,测试设计,测试执行活动所覆盖的项目工作范围。 测试分析过程详解: 第一步:整理原始需求(区别:外部特性需求和内部设计需求) 第二步:使用ET思想补充测试特性、梳理测试需求;(ET思想) 第四步:把第一步和第二步的测试需求进行合并等价类操作; 第五步:使用风险分析方法筛选出高风险模块作为灰盒测试分析的对象; 第六步:以及灰盒测试分析提取新的内部测试需求; 第七步:汇总第四步及第六步的需求成为总共的最终测试需求全集;
技术不高的的表现?
•
工程师与操作工的区别?
–
分析是发现问题—> 设计是解决问题 发现问题后才能解决问题,发现问题是一切质量的源头; 专业测试,目标是追求高效问题发现;
测试阶段划分
2013-7-17
版本 VPPT1.0
• • •
测试分析与计划阶段 测试设计阶段 测试执行阶段
charter
TR1
TR2
TR3
TR4
TR4a
TR5
TR6
SVT Report SVT
Design Spec Offering requirem ent& Design Require Define Testability ment Requirement & C$T plan General Test strategy SDV Product Test Analysis SRS Test scheme Design IT coding UT Test Implementation case Platform Tools csripts
Functional Coverage(功能化覆盖)
2013-7-17 版本 VPPT1.0
• • •
Functional Coverage Analysis: 功能化覆盖分析是一种常用手段,简单的说通过需求识别各个层次测试特性和测试对象。 什么是测试需求?什么是测试特性?
2013-7-17
版本 VPPT1.0
软件测试设计技术
xinkai@ /nilxin
课程试用
2013-7-17
版本 VPPT1.0
• • • • • •
测试经理TM 测试架构师TSE 测试设计TE 项目经理PM 开发经理DM 及相关PMO/IPMT成员
•
常见的分拆技术:
– – –
•
可以看到这个时候我们关注的是产品使用过程中不同的数据处理
Platform Coverage(平台化覆盖)
2013-7-17
版本 VPPT1.0
• • •
Platform Coverage Analysis: 平台化覆盖分析是一种手段,简单的说就是关注不同环境和内外依赖对被测对象产生的影响。 如: