理伦篇
1 ST概论
1> 定义:是一种发现软件缺陷的活动.ST规模越来越大,功能越来越复杂,面象对象测试技术刚刚起步,分布式系统整体测试不能进行很好的测试,实时系统来说,没有有效的手DUAN.随着安全问题的突出,对软件进度有效的评估和测试,成为世界性难题.
2> ST发展前景:
1) 测试工作进一步前移,不仅仅是单元测试,集成测试,系统测试,验收测试,对需求的精确性和完整性的测试技术,对系统设计的技术将成为新研究点.
2) 软件架构师,开发工程师,OA人员,测试工程师将进行更好的融合,相互配合,ST应尽早的介入整个工程,在软件定义阶段就要和开发相应的测试方法,使得每一个需求定义都是可以测试的.
3) 测试职业将得到充分的尊重,只有高水平的开发者,才能胜任测试工作.
4) 软件测试部是一个很重要的部门.
5) 测试外包服务将快速增长.
2 ST基础
1> 有资料表明,60%的软件错语并不是程序错误,而是分析和设计错误,因此做软件需求和设计阶段的测试工作就显得非常重要.提昌软件全生命周期测试的理念.
2> 软件质量包括:内部质量,外部质量,使用质量.也就是说软件符合规定或潜在用户需求的能力,要从软件内部,外部和使用中的表现来衡量。
3> 质量保证(QA)和软件测试:
质量保证:是通过预防,检查与改进来保证软件质量.采用全面质量管理和过程改进的原理开展质量保证工作.关注是的软件质量与测量.验证软件是否符合规定和用户需求,着眼软件开发中的过程,步骤和产物,不是对软件进行剖析找出问题或评估.
软件测试:与软件开发过程紧密联系,对过程的产物及开发出的软件进行剖析,对开发文档和源代码进行走查,运行软件,找出问题,报告质量.不仅仅是验证每一件事的正确,还应假设软件存在潜在的问题,找出更多的问题,分析,跟踪,与回归测试,是保证软件质量的一个重要环节.
4> 目的:是找出更多的错误,发现软件的缺陷和错误,对软件质量进行度量和评估,提高软件的质量.
一个发的测试用例在于能发现致今没有发现的错误.
一个成功的测试用例在于发现了致今没有发现的错误.
原则:所有测试都应追溯到用户需求.
应当把”尽早地和不断地进行软件测试”作为软件测试的座右铭。
完全测试不可能,测试需要停止.
测试无法找到所有的错误.
充分注意测试中的群集现象,就是在某一个模快中集中大量错误,需要重点测试.
程序员应避免检查自己的程序.
尽量避免测试的随意性,要从工程的角度去理解软件测试,有组织,有计划,有步骤的活动.
对象:软件包括程序,文档,数据,所以软件测试包括需求规格说明,概要设计规格说明,详细设计以及源程序都应称为软件测试对象.
按开发阶段分类:
单元测试(模块测试):对编写的每个程序模块进行测试,检查每个程序单元是否符合详细设计说明中的模块功能,接口,性能.设计约束.
集成测试:在模块集成后,对集成在一起的模块组件,或部件进行测试.也叫做组装测试.验证单元与部件的接口关系,是否符合概要设计要求,软件集成测试是一个持续的过程,会形成很多临时版本,在每个版本提交时,都需要进行冒烟测试,就是对程序主要功能进行验证.
确认测试:集成测试后,通过验证和提供客观证据,检测证实软件是否符合需求说明规定的要求.
系统测试:将整个程序块集成为软件系统,安装在运行环境下,对硬件,网络,操作系统及支掌平台构成的整体系统进行测试,称为系统测试.
验收测试:按照项目任务书或合同,供需双方约定的验收依据文档进行的对整个系统测试与评审,决定是否接收或拒绝.
按测试技术分类:
白盒测试:对程序内部结构的分析,检测来寻找问题.可以把程序看成装在一个透明的白盒子里,清晰的了解程序的结构和处理过程,检果结构,路径,内部运作是否按照设计说明的规定正常进行.
黑盒测试:通过软件的外部表来来发现其问题,错误.可以把程序对象看成一个黑盒子,完全不考虑程序内部结构和处理过程.在程序界面进行测试.
灰盒测试:介于白盒测试与黑盒测试之间,关注输入的正确性,同时也关注内在的表现,通过一些表性现象,事件,标志来判断内部的运行状态.
5> 了解软件测试过程模型:V,W,
6> 自动化测试工具介绍:
1) 负载压力测试工具:可扩展性,性能.模拟大量用户访问的性能.loadRunner,QAload,silk
2) 功能测试工具:通过自动录制,检测和回放用户的应用操作.WinRunner,QARun
3) 白盒测试工具:一般是针对代码进行测试,测试中发现的问题可以定位到代码级.logiscope,PRQA,Devpartner
4) 网络测试工具:网络故障定位工具,网络性能监测工具,网络仿真模拟工具.它们分析分布式应用性能,关注应用,网络和其它他素.
5) 测试管理工具:对测试需求,测试计划,测试用例,测试实施进行,BUG管理.TestManger,TrackRecord.
3 ST评估与质量
GB/T 16260 软件工程,软件质量.
内部质量,外部质量:功能性,可靠性,易用性,效率,维护性,可移值性.
使用质量.
4 ST过程与管理
1> 采用先进的标准,方法和工具对于软件测试是非常重要的.
2> 开发过程的质理决定了软件的质量,测试过程和质量决定了软件测试的质量,有效性.
软件测试是一种用来尽可能降低软件风险的控制措施.
测试技术
5 黑盒测试案例设计技术
1> 边界值分析法:A+B>C,边界条件,
2> 错误推测法.
6 白盒测试技术
7 OO的ST
8 应用负载压力测试
是指系统在某种指定软件,硬件以及网络环境下承受的流量,如用户并发数,持续运行时间,数据量等,其中并发用户数是负载压力的重要体现.
性能测试,性能评测,
性能调优,
负载测试,增加系统负载,测试所能承受的最大负载量的测试.
压力测试,
并发性能测试.
大数据量测试.
负载压力测试指标:
1> 客户端交易处理监控指标.
2> 服务器资源监控指标.
3> 数据库资源监控指标.
4> WEB服务器监控指标.
5> 中间件监控指标.
交易性能指标:
1> 并发用户数指标
2> 交易处理指标
平均事务响应时间
每秒事务总数
事务摘要
事务响应时间(负载下)
事务响应时间(%)
事务响应时间(分布)
WEB请求指标
每秒点次数
点击次数摘要
吞吐量
每秒HTTP响应数
每秒下载页面数
每秒重试次数
每秒连接数
WEB页面组件指标
激活网页细节
页组件细分
页面下载时间细分
第一次缓冲时间细分
已下载组件大小,
分析原理:
80-20原理,每个工作日中,80%的业务在天20%的时间内完成,
9 WEB应用测试
10 网络测试
物理层及其检查
数据链路层检查
网络层及其检查
11 安全测试与评估
12 兼容性测试
13 标准符合性测试
14 易用性测试
15 可靠性测试
内容:
1 需求分析阶段
确定软件的可靠目标.
分析可能性验收标准,
制定可靠性活动初步计划,
确定可靠性数据库性据收集规范.
2 概要设计阶段
确定可靠性度量
制定详细的可靠性验收方式
可靠性设计
收集可靠性数据
调整可靠性活动计划
明确后续阶段的可靠性活动的详细计划
编制可靠性文档
3 详细设计阶段
可靠性设计
可靠性预测
调整可靠性活动计划
收集可靠性数据
明确后续阶段的可靠性活动的详细计划
编制可靠性文档.
4 编码阶段
可靠性设计
可靠性预测
调整可靠性活动计划
收集可靠性数据
明确后续阶段的可靠性活动的详细计划
编制可靠性文档.
5 测试阶段
可靠性测式
排错
可靠性建模
可靠性评价
调整可靠性活动计划
收集可靠性娄据
明确后续阶段的可靠性活动的详细计划
编制可靠性文档.
6 实施阶段
可靠性测式
排错
收集可靠性娄据
调整可靠性活动模型
可靠性评估
编制可靠性文档.
16 文档测试
1> 用户文档:用户手册,操作手册,维护手册
2> 开发文档:需求说明书,数据库开发说明书,概要设计说明书,详细设计说明书,可行性研究报告.
3> 管理文档:项目开发计划,测试计划,测试报告,开发进度月报,开发总结报告.
测试案例
17 功能测试
18 白盒测试
19 数据库测试
20 负载压务测试及故障
21测试工具