什么是迭代测试
每次只设计和实现系统的一部分, 逐步完成开发的叫迭代开发, 每次设计和实现 一个阶段叫做一个迭代。
迭代测试亦然。
什么是复盘
复盘意义(取自百度百科):
通过复盘,当某种熟悉的类似的局面出现在你的面前的时候,你往往能够知道自己将如何去应对,在你的脑海中就会出现好多种应对的方法,或者你可以敏锐的感觉当前所处的状态,从而对自己下一步的走向作出判断。
敏捷测试是什么
取自百度百科
首先敏捷测试(Agile testing)是测试的一种,原有测试定义中通过执行被测系统发现问题,通过测试这种活动能够提供对被测系统提供度量等概念还是适用的。
敏捷测试是遵循敏捷宣言的一种测试实践:
1、强调从客户的角度,即从使用系统的用户角度,来测试系统。
2、重点关注持续迭代地测试新开发的功能,而不再强调传统测试过程中严格的测试阶段。
3、建议尽早开始测试,一旦系统某个层面可测,比如提供了模块功能,就要开始模块层面的单元测试,同时随着测试深入,持续进行回归测试保证之前测试过内容的正确性。
敏捷测试实质
敏捷开发的最大特点是高度迭代,有周期性,并且能够及时、持续地响应客户的频繁反馈。敏捷测试即是不断修正质量指标,正确建立测试策略,确认客户的有效需求得以圆满实现和确保整个生产的过程安全的、及时的发布最终产品。敏捷测试人员因而需要在活动中关注产品需求,产品设计,解读源代码;在独立完成各项测试计划、测试执行工作的同时,敏捷测试人员需要参与几乎所有的团队讨论,团队决策。作为一名优秀的敏捷测试人员,他(她)需要在有限的时间内完成更多的测试的准备和执行,并富有极强的责任心和领导力。更重要的是,优秀的测试人员需要能够扩展开来做更多的与测试或许无关,但与团队共同目标直接相关的工作。他(她)将帮助团队其他成员解决困难、帮助实现其预期目标,发扬高度协作精神以帮助团队的最终获取成功。需要指出的是,团队的高度协作既需要团队成员的勇敢,更需要团队成员的主动配合和帮助。对于测试人员如此,对于开发、设计人员,其他成员也是如此。
系统测试是什么
取自百度百科
内容:
系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。
图1 系统测试流程图
图1 系统测试流程图
流程如图1所示。系统测试的目的是验证最终软件系统是否满足用户规定的需求。
主要内容包括:
功能测试。即测试软件系统的功能是否正确,其依据是需求文档,如《产品需求规格说明书》。由于正确性是软件最重要的质量因素,所以功能测试必不可少。
健壮性测试。即测试软件系统在异常情况下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力
分类:
1)恢复测试
恢复测试作为一种系统测试,主要关注导致软件运行失败的各种条件,并验证其恢复过程能否正确执行。在特定情况下,系统需具备容错能力。另外,系统失效必须在规定时间段内被更正,否则将会导致严重的经济损失。
2)安全测试
安全测试用来验证系统内部的保护机制,以防止非法侵入。在安全测试中,测试人员扮演试图侵入系统的角色,采用各种办法试图突破防线。因此系统安全设计的准则是要想方设法使侵入系统所需的代价更加昂贵。
3)压力测试
压力测试是指在正常资源下使用异常的访问量、频率或数据量来执行系统。在压力测试中可执行以下测试:
①如果平均中断数量是每秒一到两次,那么设计特殊的测试用例产生每秒十次中断。
②输入数据量增加一个量级,确定输入功能将如何响应。
③在虚拟操作系统下,产生需要最大内存量或其它资源的测试用例,或产生需要过量磁盘存储的数据。
步骤:
【Step1】 制定系统测试计划
·测试范围(内容)
·测试方法
·测试环境与辅助工具
·测试完成准则
·人员与任务表
【Step2】 设计系统测试用例
【Step3】 执行系统测试
【Step4】 缺陷管理与改错
开发人员及时消除已经发现的缺陷。
·开发人员消除缺陷之后应当马上进行回归测试,以确保不会引入新的缺陷。
目标和原则:
目标:
1、 确保系统测试的活动是按计划进行的;
2、 验证软件产品是否与系统需求用例不相符合或与之矛盾;
3、 建立完善的系统测试缺陷记录跟踪库;
4、 确保软件系统测试活动及其结果及时通知相关小组和个人
原则:
1、测试机构要独立;
2、要精心设计测试计划,包括负载测试、压力测试、用户界面测试、可用性测试、逆向测试、安装测试、验收测试;
3、要进行回归测试;
4、测试要遵从经济性原则。
方针:
1、 为项目指定一个测试工程师负责贯彻和执行系统测试活动;
2、 测试组向各事业部总经理/项目经理报告系统测试的执行状况;
3、 系统测试活动遵循文档化的标准和过程;
4、 向外部用户提供经系统测试验收通过的预部署及技术支持;
5、 建立相应项目的(BUG)缺陷库,用于系统测试阶段项目不同生命周期的缺陷记录和缺陷状态跟踪;
6、 定期的对系统测试活动及结果进行评估,向各事业部经理/项目办总监/项目经理汇报/提供项目的产品质量信息及数据;
敏捷测试与系统测试的差别
敏捷测试与普通测试的区别
1.项目相当于开发与测试并行,项目整体时间较快。
2.模块提交较快,测试时较有压迫感。
3.工作任务划分清晰,工作效率较高。
4.项目规划要合理,不然测试时会出现复测的现象,加大工作量。
5.发现问题需跟紧,项目中人员都比较忙,问题很容易被遗忘。
6.耗时、或较难解决对项目影响不大的问题一般会遗留到下个阶段解决。
7.发现BUG能够很快的解决,对相关的模块的测试影响比较小。
8.版本更换比较勤,影响到测试的速度。
9.要多与开发沟通。
10.要注意版本的更新情况。
11.测试人员几乎要参加整个项目组的所有会议。