按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试和验收测试。
单元测试:针对每一个单元的测试, 以确保每一个模块能正常工做为目标。
集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题。
确认(有效性)测试:是检验所开发的软件可否知足全部功能和性能需求的最后手段。有的划分方法中,也将确认测试合并入系统测试中。浏览器
1.把单独的软件模块结合在一块儿做为总体接受测试,其目标是利用已经过单元测试的构件创建设计中描述的程序结构。安全
2.集成测试的主要任务:服务器
将各模块链接起来,检查模块相互调用时,数据通过接口是否丢失;数据结构
将各个子功能组合起来,检查可否达到预期要求的各项功能;工具
一个模块的功能是否会对另外一个模块的功能产生不利的影响;性能
全局数据结构是否有问题,会不会被异常修改;单元测试
单个模块的偏差积累起来,是否被放大,从而达到不可接受的程度。测试
1.计划阶段:spa
依据需求规格说明书、概要设计文档和开发计划,拟定软件集成测试计划;操作系统
2.设计阶段
根据被测对象的结构、待集成模块、接口,集成测试策略、测试工具进行分析,拟定集成测试计划
3.实现阶段
主要进行集成测试设计和集成测试代码设计
4.执行阶段
执行测试,生成代码报告
3、集成测试原则
1.全部公共接口都要被测试到
2.关键模块必须进行充分的测试
3.集成测试应该按必定的层次进行
4.集成测试的策略应该综合考虑质量、进度、成本
5.当测试计划中的结束标准知足时,集成测试结束
6.集成测试根据集成测试的计划和方案进行,放着测试的随意性
7.项目管理者保证测试用例通过审查
8.测试的结果应该如实的被记录
4、测试技术和步骤
1.技术:
黑盒测试技术为主,白盒测试技术为辅(灰盒测试技术)
布骤:
与集成测试策略相关
2.集成测试策略
(1)基于功能分解的集成测试
(2)非增量型
(3)瞬间集成:
又称大爆炸测试、一次性集成。首先对每一个模块分别进行模块测试,而后将 全部模块集成起来在一块儿进行测试,最终获得要求的软件系统。
(4)增量式:
特色:
将程序分红小的部分进行构造和测试;
优势:
1.错误容易分离和修正;
2.接口容易进行完全测试;
缺点:
会有额外开销,但能大大减小发现和修正错误的时间。
(5)基于调用图的集成测试
(6)基于路径的集成测试
5、其余集成测试策略
1.层次集成
2.客户/服务器集成
3.分布服务集成
4.高频集成
6、集成测试总结
集成测试是一个必要的测试阶段:
从将两个组件集成到一块儿开始,到全部系统组件在一块儿运行位置的全部测试活动,都是集成测试阶段的一部分
集成测试能减小系统测试阶段的缺陷
系统测试:系统测试是将通过集成测试的软件,做为计算机系统的一个部分,与系统中其余部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。
功能测试:
即软件系统的功能是否正确,依据产品的需求文档
健壮性测试:即软件系统在异常状况下可否正常运行。
健壮性有两层含义:
1.容错能力。
2.恢复能力
1.恢复测试
恢复测试做为一种系统测试,主要关注致使软件运行失败的各类条件,并验证其恢复过程可否正确执行。在特定状况下,系统需具有容错能力。另外,系统失效必须在规定时间段内被更正,不然将会致使严重的经济损失。
2.安全测试
安全测试用来验证系统内部的保护机制,以防止非法侵入。在安全测试中,测试人员扮演试图侵入系统的角色,采用各类办法试图突破防线。所以系统安全设计的准则是要千方百计使侵入系统所需的代价更加昂贵。
3.压力测试
压力测试是指在正常资源下使用异常的访问量、频率或数据量来执行系统。在压力测试中可执行如下测试:
①若是平均中断数量是每秒一到两次,那么设计特殊的测试用例产生每秒十次中断。
②输入数据量增长一个量级,肯定输入功能将如何响应。
③在虚拟操做系统下,产生须要最大内存量或其它资源的测试用例,或产生须要过量磁盘存储的数据。
Step1 制定系统测试计划
系统测试小组各成员共同协商测试计划。测试组长按照指定的模板起草《系统测试计划》。该计划主要包括:
测试范围(内容)
测试方法
测试环境与辅助工具
测试完成准则
人员与任务表
项目经理审批《系统测试计划》。该计划被批准后,转向Step2。
Step2 设计系统测试用例
系统测试小组各成员依据《系统测试计划》和指定的模板,设计(撰写)《系统测试用例》。
Step3 执行系统测试
系统测试小组各成员依据《系统测试计划》和《系统测试用例》执行系统测试。
将测试结果记录在《系统测试报告》中,用“缺陷管理工具”来管理所发现的缺陷,并及时通报给开发人员。
Step4 缺陷管理与改错
从Step1至Step3,任何人发现软件系统中的缺陷时都必须使用指定的“缺陷管理工具”。该工具将记录全部缺陷的状态信息,并能够自动产生《缺陷管理报告》。
开发人员及时消除已经发现的缺陷。
开发人员消除缺陷以后应当立刻进行回归测试,以确保不会引入新的缺陷。
目标:
1. 确保系统测试的活动是按计划进行的;
2. 验证软件产品是否与系统需求用例不相符合或与之矛盾;
3. 创建完善的系统测试缺陷记录跟踪库;
4. 确保软件系统测试活动及其结果及时通知相关小组和我的。
原则:
1.测试机构要独立;
2.要精心设计测试计划,包括负载测试、压力测试、用户界面测试、可用性测试、逆向测试、安装测试、验收测试;
3.要进行回归测试;
4.测试要听从经济性原则。
5、方针
一、 为项目指定一个测试工程师负责贯彻和执行系统测试活动
二、 测试组向各事业部总经理/项目经理报告系统测试的执行情况
三、 系统测试活动遵循文档化的标准和过程
四、 向外部用户提供经系统测试验收经过的预部署及技术支持
五、 创建相应项目的(BUG)缺陷库,用于系统测试阶段项目不一样生命周期的缺陷记录和缺陷状态跟踪
六、 按期的对系统测试活动及结果进行评估,向各事业部经理/项目办总监/项目经理汇报/提供项目的产品质量信息及数据
验收测试能够分红Alpha测试和Beta测试。
Alpha测试是由用户在开发环境下完成的测试,Beta测试是由用户在用户环境下完成的测试。
1.验收测试的概念
验收测试(Acceptance Test):在软件产品完成了功能测试和系统测试以后、产品发布以前所进行的软件测试活动它是技术测试的最后一个阶段,也称为交付测试。
2.验收测试的过程和内容
前提:
系统或软件产品已经过了系统测试的软件系统。
测试内容:
验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准则)中的要求,测试试图尽量地发现软件中存留的缺陷,从而为软件进一步改善提供帮助,并保证系统或软件产品最终被用户接受。主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、操做手册等)测试等几个方面的内容。
3.测试步骤
制定测试计划,测试项,测试策略及验收经过准则,并通过客户参与的计划评审。
创建测试环境,设计测试用例,并通过评审。
准备测试数据,执行测试用例,记录测试结果。
分析测试结果,根据验收经过准则分析测试结果,做出验收是否经过及测试评价。
测试项目经过
测试项目没有经过,而且不存在变通方法,须要很大的修改
测试项目没有经过,但存在变通方法,在维护后期或下一个版本改进
测试项目没法评估或者没法给出完整的评估。此时必须给出缘由。若是是由于该测试项目没有说明清楚,应该修改测试计划。
提交测试报告
4.验收标准和注意事项
验收测试完成标准:
彻底执行了验收测试计划中的每一个测试用例。
在验收测试中发现的错误已经获得修改而且经过了测试或者通过评估留待下一版本中修改。
完成软件验收测试报告。
注意事项:
必须编写正式的、单独的验收测试报告
验收测试必须在实际用户运行环境中进行
由用户和测试部门共同执行。如公司自开发产品,应由测试人员,产品设计部门,市场部门等共同进行
1.用户界面7个要素: 符合标准和规范、直观性、一致性、 灵活性、 温馨性、 正确性、 实用性
4、兼容性测试
1.兼容性测试的概念:
软件兼容性测试是指验证软件之间是否正确地交互和共享信息。
兼容性包括:
1.硬件兼容。
2.软件之间兼容
3.向前向后兼容
向后兼容是指可使用软件的之前版本。
向前兼容指的是可使用软件的将来版本。
3.多版本的测试
每个浏览器和版本支持的特性上都有细微的差异,在不一样的操做系统上表现也有所不一样。
5、可安装性和可恢复性测试
1.可恢复性测试
恢复测试主要检查系统的容错能力。当系统出错时,可否在指定时间间隔内修正错误或从新启动系统。
恢复测试首先要经过各类手段,让软件强制性地发生故障,而后验证系统是否能尽快恢复。
对于自动恢复需验证从新初始化、检查点、数据恢复和从新启动等机制的正确性;
对于人工干预的恢复系统,还需估测平均修复时间,肯定其是否在可接受的范围内。
6、文档测试
1.验收测试报告和用户验收测试
根据用户报告异常状况,进行改错和完善。