软件测试理论知识docxWord文档下载推荐.docx
《软件测试理论知识docxWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件测试理论知识docxWord文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
HLD(HighLevelDesign概要设计)
LLD(LowLevelDesign详细设计)
4)编码:
写成以某个程序设计语言表示的源程序清单,使用RDBMS(RelationalDatabaseManagementSystem关系型数据库管理系统)工具建立数据库。
5)测试:
检验软件是否符合客户需求,达到质量要求。
按测试阶段分单元测试(UT)
集成测试(IT)
系统测试(ST)——最先介入,最晚结束
6)运行维护:
将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对其进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。
软件研发的相关要素:
人员过程工具
1)
人员组成
分析人员
设计人员
开发人员
测试人员
配置管理人员(CMO,SCM)
SQA
2)组架构
软件研发流程:
常见的软件研发流程:
瀑布模型,螺旋模型,RUP流程,IPD流程
软件缺陷和BUG(包括错误和不足):
缺陷的引入是随时的,不确定的。
缺陷可以归结为三类:
遗漏、错误、额外的实现。
附录:
1)SDP:
SoftwareDevelopPlan软件研发计划
2)SVVP:
SoftwareVerificationandValidationPlan软件验证与生效计划
第二章测试过程
划分为三阶段:
单元测试(UnitTesting)
集成测试(IntegrationTesting)
系统测试(SystemTesting)
*确认测试(ValidationTesting)
a)UT:
针对软件基本组成单元
目的:
检验软件模块对《详细设计说明书》的符合程度。
UT面向过程:
函数
面向对象:
类属性
方法
b)IT:
针对组装后功能及模块间接口是否正确
检验软件模块对《概要设计说明书》的符合程度。
c)ST:
针对硬件、外设、某些支持软件、数据和人员等
检验对《软件需求规格说明书》的符合程度。
d)VT:
纯系统测试,介于IT与ST之间
若该软件包括硬件外设等,则VT相当于IT。
若该软件为纯系统软件,则VT相当于ST。
UT,IT,ST的比较
UT
IT
ST
测试方法
白盒(某些情况下也可用黑盒测试)
灰盒
黑盒(某些情况下也可用白盒测试)
考察范围
数据结构、逻辑控制、异常处理
模块间接口组合后的功能
系统相对于需求的符合程度
评估标准
逻辑覆盖率
方法:
TDD(测试驱动开发)
接口覆盖率
1.每个接口被覆盖的程度
2.每个接口的等价类、边界值被覆盖的程度
测试用例对需求项的覆盖程度
1.等价类两两组合
2.边界值分析
3.业务流程法
4.状态迁移法
5.错误猜测法
6.输出域覆盖
回归测试(RegressionTesting)
验证缺陷得到正确的修复,同时对系统的修复没有影响以前的功能。
*回归测试可以发生在任何一个阶段
1)回归测试流程
a.制定策略
b.确定版本
c.按策略执行测试
d.
验收通过:
则关闭缺陷跟踪单
不通过:
返回缺陷跟踪单,开发人员重新修改,再次提交
2)回归测试策略
a.完全重复测试
覆盖修改法
b.选择性重复测试周边影响法:
比a更充分。
难点:
如何选取用例
指标达成法:
选择一个最小的测试用例集合
风险识别法:
选择重要级别高的用例
3)回归测试自动化
a.程序自动化:
功能测试自动化
b.自动配置:
Builder、ANT/NANT、BVT
c.测试用例、结果自动化:
测试管理工具QTP、Robot(基于GUI)
d.利用脚本语言:
TCL、Python、Perl
e.专用测试工具:
f.尽早考虑(可继承、推广):
其他测试阶段(针对用户):
1)验收测试项目型
验收依据:
合同、需求规格说明书、验收测试计划
2)
α测试
β测试产品型
γ测试
●α测试是用户在开发环境下,开发者或测试人员在用户旁,记录错误情况等,环境是受控的。
目的在于评价软件的FLURPS(即功能、局域化、可用性、可靠性、性能和技术支持)
●β测试是在实际使用环境下,开发者及测试人员不在测试现场。
●γ测试是产品正式发型的候选版,可能会是以后发行的正式版。
第三章软件质量
软件质量的定义:
实体(被测试系统)基于某些特性满足需求的程度。
实体特性需求
1)实体:
软件——被测对象
2)特性:
基于ISO9126分析SRS得出测试内容,分析测试内容的两种主要方法:
a.ISO9126分析方法优点:
国际标准
b.测试类型分析方法缺点:
无标准,实际应用中需要企业根据自身行业特点定义测试类型
*相同点:
成功经验复用,二者存在对应关系
3)需求:
质量三个层次
a.符合需求规格(内部要求)
b.用户显示需求(外部要求)
c.用户隐式需求(使用要求)
4)质量铁三角:
过程技术组织
软件质量管理体系质量管理理论:
第一阶段:
检验质量管理
第二阶段:
统计质量控制
TC质量评价(通过质量统计学得出)
100%
TCs/页SRS
需求覆盖
Defects/TC(每用例缺陷数)
第三阶段:
全面质量管理
测试前期发现严重缺陷数占总发现严重缺陷数比例
通过用例发现缺陷数占总发现缺陷数比例
流行的质量管理体系
1)ISO
a.三个核心
ISO9000管理理念和原则
Iso9001组织质量管理体系必须履行的的要求做了明确的规定
ISO9004组织持续改进的指南标准
b.八项质量原则
以顾客为中心*
发挥领导作用
全员参与
过程方法
管理的系统方法
持续改进
基于事实的决策方法*
互利的供方关系
2)CMM/CMMI(CapabilityMaturityModel)能力成熟度模型
a.起源:
美国国防部委托立项美国软件工程研究所(SEI)提出的模型
用来:
评估软件承包商能力
协助组织改进过程、提高过程能力
b.必要性
业界的实施标准
业界的交流语言
中国企业获取国际订单的门槛
向下采购的保障
降低软件生产风险的有力手段
c.特点及各级概要
初始级:
不可预测的、无序的、混乱的。
可重复级:
有纪律的,经验复用
已定义级:
标准的、一致的
已管理级:
可预测的
优化级:
不断改进的
3)六西格玛
软件质量模型:
质量模型:
一组特性及特性之间的关系,它提供规定质量需求和评价质量的基础
第四章测试方法
UT阶段的工作
开发人员编码编译(测试)编码规则检查(测试)注释率检查(保证充分注释,计算方法:
注释行数/(代码行数+注释行数))代码走读(测试)UT执行
编码规则:
1)变量命名规则如:
gcount全局变量,pcount指针变量
2)If(x==1)应写成if(1==x)避免类似将if(x==1)错写成if(x=1)
UT计划、UT设计、UT实现
IT阶段工作
例如:
测试通信协议栈
层4
层3
层2
物理层
层内集成层间集成
IT计划、IT设计、IT实现
ST阶段工作
ST计划、ST设计、ST实现
搭建测试环境执行
黑盒、白盒例子
1.测试工程师VS医生
2.自动售货机
总结:
两部分信息都是做好测试需要的
使用黑盒测试方法需要了解软件的外部特性(如何使用)
使用白盒测试方法需要了解软件的内部构造和工作原理
针对不同产品如何测试
杯子:
信息外部:
外观、漏水、容量、使用者黑盒
内部:
材质、制造过程白盒
白盒测试方法的好处
1)能对代码进行覆盖
2)能有针对性的进行测试
3)发现及解决BUG的成本较低
控制流分析:
测试代码执行顺序
主要了解如何画控制流图(代码流程图)
代码(检查代码执行顺序控制流图--控制流矩阵二维数组a[6][6]:
a[0][0]=1
有无错误)
后一语句\前一结点
1
2
3
4
5
6
7
数据流分析:
测试变量的使用
数据流表:
列出每个语句变量的使用
包括变量的赋值(定义)和引用
a=b+c;
赋值a,引用b,c
if(x==5);
引用x
a=a+b+c;
赋值a,引用a,b,c
根据代码得到数据流表,分析数据流表找到以下错误:
1)变量未定义但被引用;
2)变量定义但未被引用;
代码优化:
结构优化(可读性):
1个函数2个函数
效率优化(时间、空间):
1)时间:
高斯算法
2)空间:
可移植性优化:
软件
OS
OSA(操作系统抽象)
信息流分析:
语句与变量的对应其他测试方法
逻辑覆盖、语句覆盖、判定覆盖、条件覆盖、判定—条件覆盖、路径覆盖、。
。
一般通过工具来进行检查
——借助插装技术(程序插装:
在程序中插入一些打印语句等)
3个语句构成if…else
y=5语句覆盖
y=0
有1个if...else判定语句判定覆盖
x>
=1条件条件覆盖
if(x>
=1)
y=5;
else
y=0;
插装
test.c覆盖工具testol.c(testol.exe)
白盒测试难点
1)看懂LLD,能读懂代码
2)编写测试代码
黑盒测试(无针对性)
两者相对应
质量特性:
反映软件质量的不同方面,从不同角度度量软件质量
测试:
从不同角度检测软件质量
灰盒测试
黑盒(外部、整体的信息)白盒(内部、细节的信息)
灰盒(两者都有)
例子:
IE网站
网页能否打开
网页上功能的