测试策略与过程概述

上传人:zw****58 文档编号:46897092 上传时间:2018-06-28 格式:PDF 页数:40 大小:4.01MB
返回 下载 相关 举报
测试策略与过程概述_第1页
第1页 / 共40页
测试策略与过程概述_第2页
第2页 / 共40页
测试策略与过程概述_第3页
第3页 / 共40页
测试策略与过程概述_第4页
第4页 / 共40页
测试策略与过程概述_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《测试策略与过程概述》由会员分享,可在线阅读,更多相关《测试策略与过程概述(40页珍藏版)》请在金锄头文库上搜索。

1、黑盒测试技术主讲人:主讲人:xxx1测试策略与过程概述软件测试基础软件测试基础主讲人:主讲人:XXX软件测试难么?软件测试难么?软件测试难不难? 保证软件质量难不难?Bug藏啦藏啦软件测试复杂性分析软件测试复杂性分析无法完全测试程序无法完全测试程序N发现的故障发现的故障=存在的故障存在的故障全部修复全部修复本节课程内容本节课程内容软件测试的策略和充分性1软件测试的方法2 2实用的软件测试过程3 3本节课程内容本节课程内容软件测试的策略和充分性1软件测试的方法2 2实用的软件测试过程3 3软件测试策略软件测试策略 什么是软件测试策略为软件工程过程定义的一个软件测试模板也就是 把特定的测试用例方法

2、放置进去的一系列步骤。软件测试策略软件测试策略 软件测试策略包含的特征:模 块基于计算机的系统的集合基于计算机的系统的集合时间时间 点点技术 2技术 n技术 m技术 1开发开发 人员人员测试测试 组组测试测试测试测试调试调试软件测试工作准则软件测试工作准则 软件测试的风险 如果不能做到去测试软件所有的情况,则该软件就是有风险的。 在客户手中发现缺陷时,代价是很高的。 工作原则: 将各种可能性减小到可控范围 针对风险恰当选择 找到最佳测试量软软 件件 缺缺 陷陷 故故 障障 数数 量量测试工作量测试工作量测试中测试中测试后测试后测试费用测试费用遗漏缺陷数目遗漏缺陷数目优化测试量优化测试量测试工作

3、量和软件缺陷数量之间的关系最佳测试量最佳测试量本节课程内容本节课程内容软件测试的策略和充分性1软件测试的方法2 2实用的软件测试过程3 3软件测试方法软件测试方法静态测试与动态测试静态测试与动态测试 1、静态测试 代码检查 静态结构分析 代码质量度量 它可以由人工进行,也可以借助软件工具自动进行(Rulechecker)代码测试代码测试界面测试界面测试文档测试文档测试静态测试与动态测试静态测试与动态测试 静态测试阶段的主要活动: 检查算法的逻辑正确性。 检查模块接口的正确性。 检查输入参数是否有合法性检查。 检查调用其他模块的接口是否正确。 检查是否设置了适当的出错处理。 检查表达式、语句是否

4、正确,是否含二义性。例如:下列表达 式或运算符的优先级:=、+、- 检查常量或全局变量使用是否正确。 检查标识符的使用是否规范、一致。 检查程序风格的一致性、规范性。 检查代码是否可以优化,算法效率是否最高。 检查代码注释是否完整,是否正确反映代码的功能。静态测试实例(原):静态测试实例(原): C语言程序的静态测试#include max(float x,float y) float z; z=xy?x:y; return(z); main() float a,b; int c; scanf(“%f,%f“ c=max(a,b); printf(“Max is %dn“,c); 必须修改的问

5、题:必须修改的问题: 1、缺少注释:1/51/4 2、函数max没有返回值类型 3、精度丢失问题建议修改的问题:建议修改的问题: 1、main函数没有返回值类型和参数列表 2、1行代码只定义1个变量 3、适当添加空格静态测试实例(修改后):静态测试实例(修改后):/*程序名称:求两个实数中的大数 作者:xxx 版本:1.0 创建日期:2009-8-10 */ #include float max(float x,float y) /返回两个单精度数中的大数 float z; z=xy?x:y; return(z); main() float a; float b; float c;scanf(

6、“%f,%f“, c=max(a,b); printf(“Max is %fn“,c); 必须修改的问题:必须修改的问题: 1、缺少注释:1/51/4 2、函数max没有返回值类型 3、精度丢失问题建议修改的问题:建议修改的问题: 1、main函数没有返回值类型和参数列表 2、1行代码只定义1个变量 3、适当添加空格C C语言编码规范(简装版)语言编码规范(简装版)规范编号规范编号规范内容规范内容是否通过是否通过1一行代码只做一件事情,如只定义一个变量,或只写 一条语句,容易阅读和注释2函数与函数之间,定义语句和执行语句之间最好加空 行,空行不会浪费内存3在程序的开头加注释,说明程序的基本信息

7、;在重要 的函数模块处加注释,说明各函数的功能4低层次的语句比高层次的语句缩进一个Tab键(4个空 格),使程序结构更清晰5不要漏掉函数的参数和返回值,如果没有,则用VOID 表示静态测试与动态测试静态测试与动态测试 2、动态测试 动态测试包括: 功能确认与接口测试 覆盖率分析 性能分析 内存分析测试用例测试用例执行结果执行结果动态测试实例:动态测试实例:/*程序名称:求两个实数中的大数程序名称:求两个实数中的大数 作者:作者:xxx 版本:版本:1.0 创建日期:创建日期:2009-8-10 */ #include float max(float x,float y) /返回两个单精度数中的

8、大数返回两个单精度数中的大数 float z; z=xy?x:y; return(z); main() float a; float b; float c;scanf(“%f,%f“, c=max(a,b); printf(“Max is %fn“,c); 黑盒测试与白盒测试黑盒测试与白盒测试白盒测试白盒测试黑盒测试黑盒测试两种测试方法从完全不同的角度出发,两种测试方法从完全不同的角度出发, 反映了测试思路的两方面情况,适用于反映了测试思路的两方面情况,适用于 不同的测试阶段。不同的测试阶段。黑盒测试黑盒测试输入输入输出输出黑盒测试是在程序接口进行测试,它只检查程黑盒测试是在程序接口进行测试,

9、它只检查程 序功能是否按照规格说明书的规定正常使用。序功能是否按照规格说明书的规定正常使用。也也 被称为用户测试。被称为用户测试。 集成集成/ /系统系统/ /验收测试验收测试:黑盒:黑盒内容内容 (实现过程)(实现过程) 不知道不知道打不开的黑盒子打不开的黑盒子黑盒测试黑盒测试 若测试规划是基于产品的功能,目的是检查程序各个功能 是否能够实现,并检查其中的功能错误,则这种测试方法 称为黑盒测试(Black-box Testing)方法。 黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。 它是一种从用户观点出发的测试,一般被用来确认软件功能和性 能的正确性和可操作性。黑盒测试黑盒测试

10、 特点黑盒测试与软件的具体实现过程无关,在软件实现的黑盒测试与软件的具体实现过程无关,在软件实现的 过程发生变化时,测试用例仍然可以使用。过程发生变化时,测试用例仍然可以使用。A黑盒测试用例的设计可以和软件实现同时进行,这样黑盒测试用例的设计可以和软件实现同时进行,这样 能够压缩总的开发时间。能够压缩总的开发时间。B白盒测试需要白盒测试需要完全了解程序结构和处理过程,完全了解程序结构和处理过程, 它按照程序内部逻辑测试程序,检验程序中它按照程序内部逻辑测试程序,检验程序中 每条通路是否按预定要求正确工作。每条通路是否按预定要求正确工作。也被称也被称 为程序员测试。为程序员测试。 单元测试:白盒

11、单元测试:白盒应用程序应用程序打开的盒子打开的盒子白盒测试白盒测试白盒测试白盒测试 若测试规划基于产品的内部结构进行测试,检查内部操 作是否按规定执行,软件各个部分功能是否得到充分使 用,则这种测试方法称为白盒测试(White-box Testing) 方法。 白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试, 一般用来分析程序的内部结构。白盒测试白盒测试白盒测试白盒测试 基本技术静态测试代码检查 法静态结构 分析代码质量 度量动态测试逻辑覆盖 法语句覆盖判定覆盖条件覆盖条件判定 覆盖条件组合 覆盖路径覆盖基本路径 法?X=2y=2xY=4X=2Y=4未知等式与已知等式未知等式与已知等式黑

12、盒黑盒白盒白盒黑黑盒测试与白盒测试的比较盒测试与白盒测试的比较关系对比(动静、黑白)关系对比(动静、黑白) 不同分类角度 包含交叉关系黑盒:动态(运行程序,只看输入和输出);黑盒:动态(运行程序,只看输入和输出);静态(不运行程序,只看界面)静态(不运行程序,只看界面)白盒:动态(运行程序,并分析代码结构);白盒:动态(运行程序,并分析代码结构);静态(不运行程序,只静态查看代码)静态(不运行程序,只静态查看代码)软件测试方法软件测试方法本节课程内容本节课程内容软件测试的策略和充分性1软件测试的方法2 2实用的软件测试过程3 3实用的软件测试流程实用的软件测试流程 测试过程中必需的基本测试活动

13、及其产生的结果: 前期:参加需求评审会议拟定软件测试计划设计和生成测试用例搭建测试环境实施测试测试评估测试总结测试计划制定阶段测试计划制定阶段 本阶段的主要工作内容: 规划后期测试工作 拟定测试计划书测试用例设计生成阶段测试用例设计生成阶段 本阶段的主要工作内容:对需求说明书、测试计划和原型仔细研究研究将待测产品分解分解成可独立测试的单元为每个测试单元确定采用的测试技术技术编写编写测试用例,测试脚本测试环境搭建阶段测试环境搭建阶段 本阶段的主要工作内容:搭建测 试环境网络 环境硬件环境软件环境执行用例脚本记录测试结果缺陷提交、跟 踪及管理回归实施测试阶段实施测试阶段 本阶段的主要工作内容:测试

14、评估阶段测试评估阶段 本阶段的主要工作内容: 审核系统功能及系统质量 汇总bug数量和级别、统计修改率 对遗留bug进行审核 评估小组一般由项目负责人、营销人员、部门经理 等组成,也可能是由客户指定的第三方人员组成测试总结阶段测试总结阶段 本阶段的主要工作内容: 选择和保留测试用例、测试结果、测试工具 提交软件测试报告 收尾工作的意义和重要性: 产品如果升级、功能变更或维护,只要对保留下来的相关测试 数只要作相应调整,就能够进行新的测试单元 测试单元 测试单元 测试集成 测试集成 测试系统 测试被测模块被测模块被测模块设计信息 需求信息用户信息验收 测试交付用户软件测试的软件测试的过程过程软件

15、测试过程软件测试过程单 元集成系统验收补充:确认测试补充:确认测试扩充扩充: :软件测试充分性准则软件测试充分性准则 对任何软件都存在有限的充分测试集合。 测试的充分性应与需求和软件的实现相关。单调性非复合性非分解性回报 递减率如果一个软件系统在一个测试数据集合上的测试是充分的, 那么再多测试一些数据也应该是充分的。即使对软件所有成分都进行了充分的测试,也并不表明整 个软件的测试已经充分了。即使对软件系统整体的测试是充分的,也并不意味软件系 统中各个成分都已经充分地得到了测试。复杂性软件越复杂,需要的测试数据就越多。测试得越多,进一步测试所能得到的充分性增长充分性增长就越少。本节课程总结本节课程总结 软件测试的策略和充分性 把特定的测试用例方法放置进软件工程中各个阶段的一系列步 骤 软件测试的方法 静态测试与动态测试 黑盒测试与白盒测试 传统与面向对象测试 实用的软件测试过程 拟定测试计划 设计和生成测试用例 搭建测试环境 实施测试 评估 总结2010-2011第二学 期40黑盒测试技术软件测试基础软件测试基础

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号