软件测试理论知识.docx
- 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) 组架构
软件研发流程:
常见的软件研发流程:瀑布模型,螺旋模型,RUP 流程,IPD 流程
软件缺陷和BUG (包括错误和不足):
缺陷的引入是随时的,不确定的。
缺陷可以归结为三类:遗漏、错误、额外的实现。
附录:
1)SDP: Software Develop Plan软件研发计划
2)SVVP: Software Verification and Validation Plan软件验证与生效计划
第二章测试过程
划分为三阶段:
单元测试(Unit Testing)
集成测试(Integration Testing)
系统测试(System Testing)
*确认测试(Validation Testing)
a)UT:针对软件基本组成单元
目的:检验软件模块对《详细设计说明书》的符合程度。
UT 面向过程:函数
面向对象:类属性
方法
b)IT:针对组装后功能及模块间接口是否正确
目的:检验软件模块对《概要设计说明书》的符合程度。
c)ST:针对硬件、外设、某些支持软件、数据和人员等
目的:检验对《软件需求规格说明书》的符合程度。
d)VT:纯系统测试,介于IT与ST之间
若该软件包括硬件外设等,则VT相当于IT。
若该软件为纯系统软件,则VT相当于ST。
UT,IT,ST的比较
回归测试(Regression Testing)
目的:验证缺陷得到正确的修复,同时对系统的修复没有影响以前的功能。
*回归测试可以发生在任何一个阶段
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.ISO 9126分析方法优点:国际标准
b.测试类型分析方法缺点:无标准,实际应用中需要企业根据自身行业特点定
义测试类型
*相同点:成功经验复用,二者存在对应关系
3)需求:质量三个层次
a.符合需求规格(内部要求)
b.用户显示需求(外部要求)
c.用户隐式需求(使用要求)
4)质量铁三角:过程技术组织