软件测试理论基础(包括性能测试,自动化测试理论)
- 格式:doc
- 大小:172.00 KB
- 文档页数:21
软件测试理论基础
一、软件工程:从管理、技术两方面来研究如何更好的开发、维护计算机软
件的学科。
七条基本原理:
1、用生命周期计划严格管理
生命周期:可以概括为定义、开发、应用和维护四个时期
需求提出→可行性分析→高度化设计(HLD) →详细化设计(LLD) →coding(编码)→test(测试)→上线→售发
生命周期中的计划:
项目概要计划
里程碑计划
项目控制计划
产品控制计划
验证计划
运行维护计划
项目具有特定性,产品不具有特定性
2、坚持进行阶段评审
评审:(做质量保证的人)提前发现错误减少软件的损失
QA 质量保证quality assurance
QC 质量控制quality control
3、产品一致性控制
及时的更新变更
CCB 控制变更委员会(control changing )
基准配置管理:(变动控制)文档、代码打上标签如:配置管理工具VSS
4、采用最新的软件设计技术
5、清楚地审查软件产品
6、人员应该少而精
7、不断改进软件工程的实践性
持续改进:不断的在工作、测试中发现bug并且改进的过程
测试体系、测试咨询常用的术语
文档的英文名称
软件需求说明书
HLD 概要设计
LLD 详细设计
Coding 编码
Unite test 单元测试
System test 系统测试
UAT 验收测试
1、瀑布模型:
软件生命周期的阶段和工作内容:
阶段研究问题给出的标准和文档
问题定义问题是什么?目标个规模报告书
可行性研究有可行的方法吗?高层逻辑模型、数据流图、成本效益分析需求分析系统做什么逻辑模型、数据流图、数据字典、算法描述总体设计如何解决问题?系统流程图、系统结构层次图
详细设计怎样具体实现?编码规格说明、HIPO图或PDL
编码和单元测试给出正确的程序模块源程序清单、单元测试方案和结果
综合测试给出符合要求的软件综合测试方案和结果、一致的软件配置
维护持久的满足用户需求完整地维护记录、文档、软件新版本
2、‘V’模型:
需求分析验收测试(UAT) 概要设计系统测试
详细设计单元测试
Coding
二、软件质量
1、质量与质量模型
因素(特性):如正确性、精确性、可靠性、容错性、性能、效率、易用性、可理解性、简洁性、可复用性、可扩充性、兼容性等。
2、质量保证
软件测试概念
验证程序是否符合需求的一个过程
测试:1、它能做什么2、它不应该做什么
概念;
广义:软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段、以及完成开发后维护阶段的各类文档、代码的审查和确认。
狭义:识别错误
测试目的:为了度量和提高被测试软件的质量,对测试软件进行工程设计、事实和维护的整个生命周期。
测试分类:1按阶段分:单元测试:
集成测试:
系统测试:
验收测试:
2.按目的分
(1)功能测试
(2)非功能测试:A.性能:a.并发(响应时间)b.稳定性(7*24 5*8查找内存泄漏)c.容量测试,d.压力测试。*测试数据的准备1.编造数据2.从项目组或生产
环境中获取。
B.安全测试(复制链接,回退)
C.界面测试(布局要合理,色调风格一致)
D.易用性测试,安装/卸载测试
E.本地化测试,兼容性测试,恢复/备份测试(实时系统)
F.健壮性测试,可靠性测试(少)
3透明度分
白盒测试
黑盒测试
灰盒测试
4执行方式
静态测试
动态测试
二.测试要点
1.测试规律
BUG的80-20的原则
1.在分析,设计,实现阶段的复审和测试工作能够发现和避免80%的Bug。
2.而系统测试又找到其余Bug的80%。
3.最后的5%的Bug只可能再有用户的大范围,长时间使用后才会暴露出来。
木桶原理
软件质量不是只有软件测试一个方面决定的它是由各个方面共同决定的。2.测试的重点
1.良好的用例设计,
2.好的测试工作管理(使工作有条不紊的进行减少风险)
3.独立的测试环境
4.软件测试的质量
可以发现以下软件缺陷:
1软件实现的功能的不正确
2.‘缺少’软件没有实现的某个功能
3.’多余”软件实现的某项功能在需求中没有定义。
软件测试本身的质量在于:
发现软件缺陷并能区分其类型,
提供关于软件质量和开发过程质量的信息。
5.软件测试度量
A测试覆盖率:(
a有多少需求被测试用例所覆盖。被覆盖的需求/总需求*100%
b被执行需求/总有效需求*100% 需求执行率或被测率
c执行用例数/总用例数*100% 用例执行率(考察测试人员工作效率)d通过的用例/总的执行的用例*100% 用例通过率(评价软件质量)) B缺陷发现率:1.缺陷数目(1)统计个数(按严重级别按功能分布按开发人员按缺陷状态等统计)
缺陷修复率=修复并已经通过的缺陷/发现的有效缺陷总数*100%