软件测试基础知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章测试基础
软件测试的定义:
使用人工和自动的手段来运行或测试某个系统的过程。其目的是检验它是否满足规定的需求或弄清预期结果与实际结果间的差别。
软件测试的目的:
证明检测预防
证明:
1)获取系统在可接受风险范围内可用的信心
2)尝试在非正常情况和条件下的功能和特性
3)保证一个工作产品是完整的且可用或可被集成的
检测:
1)发现缺陷,错误和系统不足
2)定义系统能力和局限性
3)提供组件、工作产品和系统的质量信息
预防:
1)通过将测试活动提前介入到软件生命周期中,尽早的发现并消除前期研发阶段引入的缺陷,以防止前期缺陷遗留并放大到后续环节
2)通过对发现的缺陷进行分析,找出导致这些缺陷产生的流程上的不足,通过改进流程,预防同类缺陷再次产生
软件生命周期:
计划->需求分析->概要设计->详细设计->编码->测试->运行维护
1)计划:
SDP(软件研发计划)UTP(单元测试计划)
SVVP(软件验证与确认计划)ITP(集成测试计划)
STP(系统测试计划)
2)需求分析:
SRS(软件需求规格说明)
根据研发类型,需求来源,则用户针对的具体对象分为两种:针对产品的与针对项目的
3)设计:
HLD(High Level Design概要设计)
LLD(Low Level Design详细设计)
4)编码:
写成以某个程序设计语言表示的源程序清单,使用RDBMS(Relational Database Management System关系型数据库管理系统)工具建立数据库。
5)测试:
检验软件是否符合客户需求,达到质量要求。
按测试阶段分单元测试(UT)
集成测试(IT )
系统测试(ST )——最先介入,最晚结束
6)运行维护:
将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对其进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。
软件研发的相关要素:
人员
过程
工具
1)人员组成
分析人员
设计人员开发人员测试人员
配置管理人员(CMO,SCM )SQA (软件质量保证)
2)组架构
项目经理
配置经理
测试经理开发经理配置管理组
软件测试组软件开发组SQA
软件研发流程:
常见的软件研发流程:瀑布模型,螺旋模型,RUP 流程,IPD 流程
软件缺陷和BUG (包括错误和不足):
缺陷的引入是随时的,不确定的。
缺陷可以归结为三类:遗漏、错误、额外的实现。
过程(流程)
技术(工具)
质量
人(组织)
附录:
1)SDP:Software Develop Plan软件研发计划
2)SVVP:Software Verification and Validation Plan软件验证与生效计划
第二章测试过程
划分为三阶段:
单元测试(Unit Testing)
集成测试(Integration Testing)
系统测试(System Testing)
*确认测试(Validation Testing)
UT IT ST
VT
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.输出域覆盖
回归测试(Regression Testing)
目的:验证缺陷得到正确的修复,同时对系统的修复没有影响以前的功能。
*回归测试可以发生在任何一个阶段
1)回归测试流程
a.制定策略
b.确定版本
c.按策略执行测试
d.验收通过:则关闭缺陷跟踪单
不通过:返回缺陷跟踪单,开发人员重新修改,再次提交2)回归测试策略
a.完全重复测试
覆盖修改法
b.选择性重复测试周边影响法:比a更充分。难点:如何选取用例
指标达成法:选择一个最小的测试用例集合
风险识别法:选择重要级别高的用例3)回归测试自动化
a.程序自动化:功能测试自动化