敏捷开发测试要求规范V0.1

敏捷开发测试要求规范V0.1
敏捷开发测试要求规范V0.1

敏捷开发测试规范(试行)

2012年9月

版本记录

目录

1 概述 (4)

1.1 编写目的 (4)

1.2 读者对象 (4)

1.3 术语定义 (5)

2 敏捷测试流程 (5)

2.1 需求验证 (6)

2.2 用例设计 (6)

2.3 用例审核与维护 ................................................................................... 错误!未定义书签。

2.5 测试实施运行 (7)

2.6 版本控制 (8)

2.7 需求变更 (9)

2.8 迭代末期“bug大扫除” (9)

3 敏捷测试方法与策略 (10)

3.1 持续测试、持续反馈 (10)

3.2 单元测试方法策略 (10)

3.3 功能测试方法策略 (11)

3.4 性能测试方法 (12)

3.5 系统测试策略 (12)

3.6 测试驱动研发 (13)

3.7 持续集成测试 (14)

4 终端移动互联网测试 (15)

4.1 用户体验测试 (15)

4.2 平台兼容性测试 (16)

4.3 不同网络环境下测试 (16)

4.4 多事务并发测试 (17)

4.5 安装、卸载测试 (17)

5 测试工具和环境 (18)

5.1 单元测试工具 (18)

5.2 功能回归测试工具 (19)

5.4 持续集成测试环境 (19)

6 测试人员要求 (19)

6.1 人力需求 (19)

6.2 测试人员能力要求 (20)

7 附录 (21)

1 概述

1.1 编写目的

ICT自主开发产品拟采用敏捷开发模式,为规范ICT支撑中心项目敏捷测试流程,明确敏捷开发模式下的术语定义,明确敏捷测试方法与策略,明确移动互联网测试特有的测试内容,确定敏捷开发模式下用到的测试工具以及测试环境,以及初步确定敏捷测试人力需求计算方式与对人员能力要求,特制定本规范。本规范适用于采用敏捷开发模式下的所有自主开发移动互联网产品。

1.2 读者对象

本规范读者对象为软件开发项目管理者、项目经理、测试经理、开发经理、开发组、测

试组所有人员。

1.3 术语定义

敏捷开发模式下的几种重要角色、产品文档及过程会议术语如表1-1:

表1-1

2 敏捷测试流程

2.1 验证需求和设计

敏捷测试强调问题暴露越早越好。

需求和设计具体来说一般包括:(1)由项目经理根据需求文本而编写的产品用户故事或者是产品软件需求规格说明书;(2)由开发人员根据产品用户故事而编写的迭代用户故事,或者是详细设计、数据库设计、系统方案设计、概要设计(可裁剪,根据开发系统规模决定是否裁剪。)。作为测试人员,审核重点是检查产品用户故事、迭代用户故事对用户需求定义的完整性、严密性和功能设计的可测性。

在测试初期,测试人员要学会做静态测试,做好需求分析,做好对设计逻辑的分析。测试人员要更多的思考需求的可实现性,将自身作为第一用户积极参与项目和系统的需求分析,设计和开发。更多的参与DB Design(数据库设计),框架的评审中来。积极地参与前期工作,尽早的开始测试,并迅速反馈给设计和开发其静态测试结果。

需求和设计验证产出物:测试需要提交评审结果。

2.2 用例设计与审核

开发人员根据产品用户故事、迭代用户故事,设计测试用例,测试人员负责测试用例审核。

为保证测试用例的质量和可行性,确保测试工作的顺利进行,让开发人员、测试人员迅速地了解测试的重点并给出相应的意见和建议,用例设计人员在出输出测试用例的同时,应出一份用户故事与用例跟踪表(见附件:产品故事-燃尽图跟踪表),其中注明测试用例已覆盖了哪些用户故事,具体每个用户故事对应的测试用例编号,这样其他项目组成员对测试用例进行查看的时候,能够对测试用例的覆盖率一目了然,对覆盖率不足(如某个重点用户故事的测试用例覆盖不够)的地方能够及时给出意见。测试人员负责用例审核。

2.3 测试计划

敏捷测试的测试计划不需要复杂的计划文档,写出一页纸的测试计划,将测试要点(包括策略、特定方法、重点范围等)列出来即可,模板见附件。

2.4 测试实施运行

敏捷开发模式中,测试与研发紧密结合在一起。测试主要有两种:单元测试和验证/接收测试。单元测试一般是由开发人员来完成的,接收测试是由客户代表来完成。

由于客户通常无法在现场,一般由测试人员做验证测试,最后由客户进行接收测试。在每个版本发布给客户之前必须由测试人员进行测试,发布版本之后由客户做接收测试,提出需要修改的地方。需要修改的地方将在下后面的迭代中完成。

·单元测试

在每日构件版本给测试前,开发首先要做单元测试,提前告知软件中的薄弱环节,帮助测试人员调整测试重点。

做单元测试的好处是可以提高版本质量,减轻测试的工作量,减少浅层次的bug的发生率,使测试人员能够将更多的精力投入到寻找深层次的bug上面。

·验证测试

测试人员的验证测试从总体上说就是将测试用例按计划付诸实施的过程,以及验证故障修复是否会引入新的故障。这一阶段的测试必须在周密的计划下进行。这种计划性首先体现在开发和测试的相互协调配合,根据产品的架构和功能模块的依赖关系,按照项目的总体计划共同推进。从测试的过程来看,测试执行的一开始可以是针对部分用户故事的,之后可以逐步扩展。接着开始采用迭代的过程完成测试任务,即将测试任务划分为多个周期,一开始

可以做些关键的功能性/用户故事测试,可以对代码中的可复用部分(组件,构件)做完整的测试。接着的迭代周期可以做边缘化的功能测试和其他测试,最后的几个迭代应该用于完整的回归测试,和关键的性能和稳定性测试。

·每日构件版本测试

敏捷开发过程中除每个迭代中持续集成版本以外,还会有每日构件版本,每日构件版本测试用以验证前天修复的故障,以及测试故障修复是否会引入新的故障。

2.6 版本控制

敏捷开发强调快速开发,持续集成。版本包括每日构件版本、持续集成版本、验收测试版本三种类型。

1)版本号约定

每日构件版本号约定:PXXV0.0.0D0823 (D后面是日期)

持续集成测试版本号约定:PXXV0.1.0B01(从B01开始递增)

验收测试版本号约定:PXXV1.0.0B01(从B01开始递增)

说明:PXX为项目名,V0.0.0为每日构件版本,V0.1.0为集成阶段,V1.0.0为系统测试阶段。

2)版本发布规则

每日构件版本。每日发布每日构件版本,用于验证当天解决的故障,验证故障修改是否会引入新的故障。

持续集成测试版本。每个迭代周期发布一个持续集成测试版本,如迭代周期为二周的,每个迭代周期可发布二个版本,由项目经理、测试经理协商决定。

验收测试版本。项目开发后期迭代发布验收测试版本,每个迭代发布一个验收测试版本

(项目经理和测试经理协商决定)。

3)版本发布说明

版本每次发布必须提供发布说明(Release Note)使客户对发布的版本情况一目了然。Release Note中主要包括三方面的内容:Fixed,New Features,Known Problems。其中,Fixed部分写明此版本修复了上个版本中存在的的哪些比较大的bug;New Features 部分写明此版本新增加了哪些功能;Known Problems部分写明此版本尚存在哪些比较大的问题,有待下个版本改善;或者列出需求不太明确的地方,有待客户给出明确答复意见,在下个版本中完成。

2.7 需求变更

采用敏捷开发模式的项目中,客户对于需求的变更很频繁。因此,需求管理是十分必要和重要的工作。整个项目进行过程中,对不断变化的需求,一定要作跟踪,每次的需求变更都要有相应的历史记录,方便后期的管理和维护工作。可将每次的变更整理记录到产品故事-燃尽图跟踪表(见附件),并使该文档始终保持最新更新的状态,与需求的变化保持同步。同时更新项目管理系统上面的产品用户故事与测试用例。

2.8 迭代末期“bug大扫除”

在项目开发的迭代末期,可以开展“bug大扫除”活动。划出一个专门的时间段,在这期间所有参与项目的人员,集中全部精力,搜寻项目的Bug。

注意以下要点:(1)尽管这是一个测试活动,但参与者并不仅限于测试人员。项目经理,开发人员甚至于高层管理人员都应参加,如同全民动员。目的是要集思广益;(2)要鼓励各部门,领域交叉搜索,因为新的思路和视角通常有助于发现更多的Bug;(3)为调

动积极性,增强趣味性,可以适当引入竞争机制,比如当活动结束时,评出发现Bug最多,发现最严重Bug的个人,给以物质和精神奖励。(4)可以分专题展开,比如安全性、用户界面可用性、国际化和本地化等等。

3 敏捷测试方法与策略

3.1 持续测试、持续反馈

敏捷测试是持续测试、持续反馈的过程,测试人员扮演“用户代表”角色,确保产品满足客户的需求。测试报表,测试日志都能及时得到反馈。

3.2 单元测试方法策略

单元测试是对功能模块进行正确检验的测试工作,也是后续测试的基础。目的是在于发现各模块内部可能存在的各种差错,因此需要从程序的内部结构出发设计测试用例,着重考虑以下五个方面:

1)模块接口:对所测模块的数据流进行测试。

2)局部数据结构:检查不正确或不一致的数据类型说明、使用尚未附值或尚未初始化的变量、错误的初始值或缺省值。

3)路径:虽然不可能做到穷举测试,但要设计测试用例查找由于不正确的计算(包括算法错、表达式符号表示不正确、运算精度不够等)、不正确的比较或不正常的控制流(包括不同数据类型量的相互比较、不适当地修改了循环变量、错误的或不可能的循环终止条件等)而导致的错误。

4)错误处理:检查模块有没有对预见错误的条件设计比较完善的错误处理功能,保证其逻辑上的正确性。

5)边界:注意设计数据流、控制流中刚好等于、大于或小于确定的比较值的用例。

单元测试除代码走查外,敏捷团队成员要能熟练单元测试工具开展单元测试,确保代码质量。

3.3 功能测试方法策略

功能测试的目标主要包括:

?是否有遗漏需求;

?是否正确的实现所有功能/用户故事;

?隐示需求在系统是否实现;

?输入、输出是否正确;

移动互联网应用的功能测试侧重于所有可直接追踪到用例(用户故事)、业务功能和业务规则的测试需求,这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。

功能测试基于黑盒技术,通过图形用户界面(GUI)与应用程序进行交互,并对交到的输出或结果进行分析,以此来核实实用程序及其内部进程正确与否。

敏捷模式下的功能测试方法策略:

已经实现功能的自动化测试。对前期迭代中已经实现的功能,采用工具进行自动化测试,即功能回归自动化测试。

新实现功能的手工测试。主要验证用户故事是否正确实现,与用例是否相符。

新实现功能的探索性测试。针对新实现的功能,除验证用户故事是否实现以外,还需要拓展测试内容。测试系统是否会有其他意想不到的异常或者缺陷。

探索性测试说明:探索性测试是一种测试风格,不是具体的某种测试技术,强调个人

自由与职责,将测试相关学习、测试设计、测试执行与结果分析三者相互支持和并行执行。

3.4 性能测试方法

性能测试一般包括负载测试、强度测试/压力测试、稳定性测试/可靠性。

负载测试是在一定的硬件、软件及网络环境下,通过模拟不同的用户,执行一种或多种业务,观察系统在不同负载下的性能表现。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。

负载测试的目标是确定并确保系统在走出最大预期工作量的情况下仍能正常运行。

此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。

强度测试是性能测试一种,实施和执行此类测试的目的是找出因资源不足或资源急用而导致的错误。如内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。

稳定性测试评价系统在一定负荷情况下,长时间的运行情况。在一定的软硬件及网络环境中,通过模拟大量的用户执行多种业务处理大量数据,使系统在极限环境下长时间运行,目的在于寻找系统的失效点。

性能测试一般在系统版本稳定后即可开展。移动互联网产品的性能测试,可借助以下测试工具:LoadRunner,Monkey工具。

3.5 系统测试策略

敏捷开发模式下的系统测试也就是迭代末期的“bug大扫除”,这种测试是由项目团

队内部开展,系统测试目的是在于验证软件的功能和性能及其他特性是否与用户的要求一致,主要包括类型的测试:

1)用户界面测试:测试用户界面是否具有导航性、美观性、行业或公司的规范性、是否满足设计中要求的执行功能。

2)性能测试:测试相应时间、事务处理效率和其他时间敏感的问题。

3)强度测试:测试资源(内存、硬盘)敏感的问题。

4)容量测试:测试大量数据对系统的影响。

5)容错测试:测试软件系统克服软件、硬件故障的能力。

6)安全性测试:测试软件系统对非法侵入的防范能力。

7)配置测试:测试在不同网络、服务器、工作站的不同软硬件配置条件下,软件系统的质量。

9) 安装测试:确保软件系统在所有可能情况下的安装效果和一旦安装之后必须保证

正确运行的质量。

3.6 测试驱动研发

测试驱动开发(英文全称Test-Driven Development,简称TDD),以用户故事为基准,包括产品用户故事与迭代用户故事,驱动研发逐步实现所有产品用户故事以及每个迭代中的用户故事。它要求在编写某个功能的代码之前先编写按照用户故障编写出测试用例,然后通过测试用例验证来推动整个开发的进行。测试驱动研发总体分为二大步:1.测试用例设计。开发、测试人员从设计文档、用户故事着手,参考客户需求看看用户故事是否已经覆盖客户的要求,对有疑问的地方与文档设计人员、PO沟通清楚。当搞清楚整个设计思路以及所有用户故事以后,再来进行测试用例设计。

测试用例设计由开发人员完成,测试人员审核。测试用例需共享给项目组其他成员,因为其他成员开发的时候需要参照到这些测试用例,避免出现未考虑到的地方。

2.测试用例执行。当某个用户故事开发完成后,测试人员开始测试,验证用户故事是否实现,是否满足用例预期结果。测试前或者测试中,测试人员及时与开发需随时进行讨论,讨论这个用户故事测试覆盖点。之前测试用例已经写完了,但是这个测试用例是基于原有设计用户故事的,实际的功能怎么样子,并不非常清楚。而现在实际功能做出来了,对于一个测试人员而言,就能得到基本的测试点。而讨论的目的就是尽可能全的把测试点覆盖全。开发根据讨论结果,更新测试用例,测试人员审核通过后作为后期测试验收用户故事的依据。

3.7 持续集成测试

持续集成测试是指开发团队中的每个成员都尽量频繁地把他们所做的工作更改合入到源码库中,并且还要验证新合入的变化没有造成任何破坏。这里的源码库指的是版本控制工具(比如:CVS或者SVN)管理的软件源代码储存地。这里的频繁程度和团队所开发的软件类型有关,但是一般来说频度应该不大于1个小时。

实现持续集成测试的几部分的工作:

1、将所有的源代码保存在单一的地点,让所有人都能从这里获取最新的源代码(以及以前的版本);

2、支持自动化创建脚本,使创建过程完全自动化,让任何人都可以只输入一条命令就完成系统的创建;

3、测试完全自动化,要求开发人员提供自测试的代码,让任何人都可以只输入一条命令就运行一套完整的系统测试;

4、确保所有人都可以得到最新、最好的可执行文件。

持续集成测试最基本的优点就是:它完全避免了开发者们的"除虫会议"--以前开发者们经常需要开这样的会,因为某个人在工作的时候踩进了别人的领域、影响了别人的代码,而被影响的人还不知道发生了什么,于是bug就出现了。这种bug是最难查的,因为问题不是出在某一个人的领域里,而是出在两个人的交流上面。随着时间的推移,问题会逐渐恶化。通常,在集成阶段出现的bug早在几周甚至几个月之前就已经存在了。结果,开发者需要在集成阶段耗费大量的时间和精力来寻找这些bug的根源。

如果使用持续集成测试,这样的bug绝大多数都可以在引入的同一天就被发现。而且,由于一天之中发生变动的部分并不多,所以可以很快找到出错的位置。如果找不到bug究竟在哪里,你也可以不把这些错误的代码集成到产品中去。即使在最坏的情况下,你也只是不添加引起bug的特性而已。所以,持续集成可以减少集成阶段"捉虫"消耗的时间,从而最终提高生产力。

4 移动互联网终端测试

4.1 用户体验测试

移动互联网终端应用用户体验测试从视、听、触、反应速度、可用性、易用性几个方面出发,来测试终端应用的用户体验。

“视”是指应用界面UI布局是否合理、视效是否美观、颜色搭配是否协调、不同分辨率下是否可以正常运行。

“听”是针对具有音频播放功能的应用,应用使用的各种音频听起来感觉是否悦耳、使人舒畅,有没有杂音、电流音、刺耳的高音等。

“触”是指应用的使用触感,与终端屏幕、键盘有一定相关性。应用中的各种窗口控件、

对话框触击使用时触感是否使用愉悦。

“反应速度”是指终端应用使用过程中,点击某个功能按钮、菜单后,应用的反应速度有多快,是否满足用户使用习惯。通常一个操作反应时间超过2秒,用户便能够感知到慢。如果超过3秒,容易使用户感到不满。超过4秒,用户则不愿意接受。

“可用性”测试是指终端应用功能是否可用,有无缺陷。除基本功能实现以外,是否有其他明显影响使用的缺陷,是否满足正常操作习惯。

“用户体验易用性”测试主要是检测用户在理解和使用系统方面到底有多好,是否存在障碍或难以理解的部分。

用户体验易用性的测试方法,一般是通过用户访谈,或邀请内测、小范围公测等方式进行,通过不同实验组的运营结果来判断是否存在易用性缺陷。注意用户体验易用性测试由于缺乏有效的测试工具,必须大量的测试样本才能获得比较真实的测试数据,投入资源较多,测试周期较长。

4.2 平台兼容性测试

兼容性测试是核实测试对象在不同的软件系统、硬件配置中的运行情况,测试系统在各种软硬件配置,不同的参数配置下系统具有的功能、功耗、性能和用户体验。移动互联网终端应用的兼容性测试包含内容:

操作的兼容性:覆盖智能机三个主流操作系统,iOS, Android和Windows Mobile。

硬件兼容性:不同分辨率下的兼容性测试。

4.3 不同网络环境下测试

验证不同网络环境下,终端应用功能与性能方面是否正常(数据业务是否会中断,业

务模块是否出现异常)。网络环境包含:

3G强信号

3G中强信号

2G强信号

2G中强信号

4.4 多事务并发测试

移动互联网终端应用有自身的特殊性,终端上支持的应用很多,许多应用事务会并发产生(同一时间产生或者某一应用使用过程并发其他应用事务)。终端应用使用过程通常会有以下一些并发事务:

短信并发

彩信并发

来电并发

闹钟、日程并发

蓝牙事务并发

传感器事务并发

其他第三方应用事务并发(如天气预报)

4.5 安装、卸载测试

安装测试验证应用程序安装包/APK安装包能否成功安装到移动终端上,以及安装后能否正常打开使用。

卸载测试验证已经安装的应用程序/APK包是否能成功地卸载。

Android终端应用程序安装、卸载测试可借助MonkeyRunner工具来开展。

4.6 安全性、接口测试

安全性测试侧重于安全性的两个关键方面:

1.应用程序级别的安全性,包括对数据或业务功能的访问。

应用程序级别的安全性可确保:在预期的安全性情况下,不同权限用户只能访问特定的功能或用例,或者只能访问有限的数据。例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户消息(包括财务数据),而“用户二”只能看见同一客户的统计数据。

2. 系统级别的安全性,包括对系统的登录或远程访问。

系统级别的安全性可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。

接口测试指测试应用与终端本地其他应用的接口,主要测试接口功能是否实现,是否会引起本地其他应用异常。本地其他应用主要包括:音频模块,视频模块,蓝牙模块,联系人,短信,彩信,通话记录等。

5 测试工具和环境

5.1 单元测试工具

工具名称:Junit(java),Qunit(JSP),Visual Unit(C/C++)。

适用测试类型:单元编码完成

输出物:单元测试报告

5.2 功能回归测试工具

工具名称:QTP,MonkeyRunner。

适用测试类型:稳定模块功能回归测试,适用每日构件版本,持续集成版本。

输出物:测试报告

5.3 性能测试工具

工具名称:LoadRunner,Monkey

适用测试类型:迭代持续集成版本(选择性执行),最终验收版本。

输出物:测试报告

5.4 持续集成测试环境

工具名称:CruiseControl,Eclipse,SVN,Junit (根据项目特点,可选择其他持续集成工具)

适用测试类型:每个迭代持续集成版本,每日构件版本,最终验收版本。

输出物:测试报告

6 测试人员要求

6.1 人力需求

根据ICT自主研发产品的特点及目前现状,采用敏捷开发模式,开发人员与测试人员总体按照1.5 :1的比例,来配置测试人。配置比例计算如下:

一个典型的敏捷开发团队人员共7人:PO 1人,Scrum Master 1人,开发人员3

人,测试人员2人。其中测试开发人员1名,主要工作内容包括单元测试,负责单元测试及协助研发修改单元测试发现的故障,测试工具开发、测试用例设计以及测试环境搭建。工具使用、测试执行人员1名。

备注:采用敏捷开发模式,测试与研发是紧密结合的一个团队,无界限划分,测试与研发有时可以相互调换、替补。测试人员行政管理上面属于测试团队。

6.2 测试人员能力要求

敏捷测试对测试人员能力要求非常高。要有很强的编码功底,丰富的项目经验与编码经验,开发过程中既能帮助开发人员发现故障,又能协助开发人员修复故障,甚至替补开发人员修改故障。

1)测试开发人员能力要求

掌握常的用例设计方法,如等价类划分,边界值分析,错误推测法,场景设计方发等。

有2年以上的测试经验,2年以上用例设计经验。熟悉至少一种数据库基本操作。

有2年以上Java/C++/网页编码经验,测试工具开发经验,掌握一种以上单元测试工具,能熟练搭建持续集成测试环境。

2)执行人员能力要求

有1年以上Java开发经验,熟悉主流开发工具,2年以上测试经验,有用例设计经验。熟悉数据库基本操作。

熟练使用常用的功能回归、性能测试自动化工具,如QTP,LoadRunner,Monkey 等。

熟悉项目应用程序工作流程,有移动互联网产品测试经验。

单元测试编写规范

单元测试编写规范

文件修改控制

目录 第一章文档介绍 (4) 目的 (4) 阅读对象 (4) 第二章概述 (4) 2.1 定义 (4) 2.2 目的 (4) 2.3 步骤 (4) 2.4 常见模块单元的错误 (5) 第三章单元测试步骤 (6) 3.1 设计单元测试方案 (6) 3.1.1 输入、输出 (6) 3.1.2 任务 (6) 3.2 编写单元测试CASE (7) 3.2.1 输入、输出 (7) 3.2.2 任务 (7) 3.3 执行单元测试 (9) 3.3.1 输入、输出 (9) 3.3.2 任务 (9) 3.4 分析单元测试结果 (9) 3.4.1 输入、输出 (9) 3.4.2 任务 (10)

第一章文档介绍 目的 本文档是关于进行单元测试(Unit Test)的规范性文档,本文档中描述了单元测试的原则、流程和方法,是软件开发人员在进行单元测试时的工作指南。 阅读对象 本文档适合以下人员阅读 ●项目经理 ●软件开发工程师 ●软件测试工程师 第二章概述 2.1 定义 单元测试是对软件基本组成单元进行的测试,所谓“单元”是指: ●具有明确的功能 ●具有明确的规格定义(详细设计说明书) ●有与其他部分明确的接口定义 ●能够与程序的其他部分清晰地进行区分 2.2 目的 单元测试用例的设计是要验证被测程序单元的如下这些方面: 1)是否正确实现了规定的功能 2)模块内部是否存在错误 2.3 步骤 单元测试的侧重点在于发现程序设计或者实现中的逻辑错误。它分为计划、设计、实现、执行和评估五个步骤。各步骤的定义如下: 1)计划单元测试 确定测试需求,制订测试策略,确定测试所用资源,创建测试任务的时间表。

软件开发与测试工作流程

软件开发与测试 工作流程 版本 2.0 XXX软件股份有限公司质量部 XXXX年XX月

目录 1.简介 (4) 2.适用范围 (4) 3.术语、名词定义 (4) 3.1 送测软件 (4) 3.2 开发文档 (5) 3.3 测试文档 (5) 3.4 被测程序 (5) 3.5 送测单 (5) 3.6 BUG单 (5) 3.7 测试循环 (6) 4.参考文献 (6) 5.测试与开发的配合 (6) 5.1 文档和软件保存目录 (6) 5.2 辅助工具的使用 (7) 5.2.1 辅助测试系统1.0 (8) 5.2.2 SourceSafe6.0 (8) 5.3 开发与测试配合的流程 (9) 6 . 送测单 (10) 6.1送测单的填写 (10) 6.2 工作流程 (12) 7 .BUG单 (12) 7.1 BUG单的填写 (13) 7.2 工作流程 (14) 8 .测试阶段的结束 (15) 9 . 备注 (15) 9.1 开发阶段与测试阶段 (15) 9.2 待测模块的组合与测试原则 (15) 9.3 BUG的分类评级原则 (16)

9.4 国标中有关BUG数量的描述 (18) 9.5 测试阶段的划分 (18)

1.简介 本流程文件旨在规定一个简单的可使开发人员和测试人员在软件开发的编码阶段相互配合工作的工作流程,其中包括测试与开发的配合、送测单和BUG 单的填写、测试循环的结束等部分。开发阶段与测试循环的关系、测试模块的组合与测试原则、BUG的分类评级原则等也在本流程文件中有相关的描述。 鉴于公司的技术要求,目前质量部的测试人员不仅要完成黑盒测试工作,而且还要进行白盒测试中的“代码走查”工作。其它的白盒测试工作,目前还不在测试人员的工作职责之内。 由于公司已经为质量管理部开发完成“辅助测试系统1.0”,因此本测试流程的制定就建立在辅助测试系统之上,如果辅助测试系统有了新的版本,质量部将根据其变化适当调整测试流程。 2.适用范围 本流程文件适用于公司开发软件并需要测试服务的任何软件开发项目组、软件开发人员,以及任何测试人员。 当项目组在辅助测试系统中注册以后,公司领导可以使用本系统查询了解所有在本系统中注册的项目的测试信息,项目的质量管理员可以使用本系统查询了解项目的当前测试进展情况。程序员和测试员都可以使用本系统查询到自己产生的送测单和BUG单。 3.术语、名词定义 3.1 送测软件 送测软件包括一切软件执行必须的文件、数据、数据库配置等。开发人员必须提供所有的详细的资料以保证测试人员可以像客户一样的运行被测软件。

敏捷开发管理试题及答案

单选题: 1、下列关于敏捷方法的叙述中,错误的是()。 A.与传统方法相比,敏捷方法比较适合需求变化大或者开发前期对需求不是很清晰的项目 B.敏捷方法尤其适合于开发团队比较庞大的项目 C.敏捷方法的思想是适应性,而不是预设性 D.敏捷方法以原型开发思想为基础,采用迭代式增量开发 答案:B 2、XP是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式,其四大价值观包括沟通、简单、()。 A. 隐喻和反馈 B. 重构和勇气 C. 隐喻和重构 D. 反馈和勇气 答案:D 3、()是PSP A. 潜在可交付的产品增量 B. 可交付的产品增量 C. 潜在不可交付的产品增量 D. 不可交付的产品增量 答案:A 4、()不属于DOD A. 写代码 B. 单元测试 C. 集成测试 D. 投产文档 答案:D 5、()是Product backlog A. 产品负责人 B. 产品代办事项列表 C. 迭代 D. 燃尽图 答案:B 6、()是用户故事的标准模板 A. 作为一个<用户类型>,我<想\需要\可以\等等>,所以<原因> B. 作为一个<产品类型>,我<想\需要\可以\等等>,所以<原因> C. 作为一个<用户类型>,我<想\需要\可以\等等> D. 作为一个<产品类型>,我<想\需要\可以\等等> 答案:A 7、以下()不是SCRUM MASTER职责 A. 保护团队不受外来无端影响 B. 尽可能提高团队影响力 C. 负责SCRUM价值观与过程的实现 D. SCRUM MASTER是牧羊犬、公仆 答案:B 8、迭代计划会议的主要议程是() A. 讨论系统物理架构 B. 研讨系统逻辑架构 C. 讨论产品代办事项列表最需优先完成的事项 D. 讨论系统数据架构 答案:C

敏捷开发日常跟进系列之1-6

敏捷开发日常跟进系列之一:燃尽图(上) 这个系列将涉及燃尽图(Burndown Chart)、故事板(看板)、每日立会等内容,描述在计划会之后,评审会之前,敏捷开发团队内部产出与产品经理和项目经理的各种活动。 日常跟进中的某些内容比如团队工作模型、预估会议、用户故事跟进等在之前的松结对编程、团队管理、用户故事、产品管理等系列中有所描述。 在这个系列之前,还应该有一个敏捷计划系列,描述敏捷开发的从版本规划到计划会估算的详细内容,未来将会补上,当前可以参考2.29版的《火星人敏捷开发手册》,有5页与其相对应。 燃尽图 燃尽图Burdown Chart也叫燃烧图,是罕见的敏捷度量,以至于每当有人问起“敏捷中有度量吗”的时候,第一反应就是它。 燃尽图的全称,应该是“总剩余时间的燃尽图”,就是本次迭代中,所有故事(或拆分的任务,以下仅称故事)的剩余时间总和,随日期的变化而逐日递减的图。 图中左侧460是迭代开始的第一天,所有故事的未完成时间相加为460天,而在最右侧则表明在第17天,所有故事的剩余时间相加变为0,也就是所有故事都完成了。 为什么总和会递减呢?因为每个组员每天都要汇报一件事情:当前正在做的故事,还剩余几天,如果昨天剩余3天,今天剩余2天,那么就为燃烧图贡献了1天的进度。

由于可能出现“昨天剩余3天,又工作了一天后本以为会只剩下2天,结果感觉可能还要3天(甚至变成5天了!)”这种情况,所以燃尽图常常有一些起伏。 燃尽图的“指纹” 图中的燃尽图尽管有一些起伏,依然是属于比较完美的燃尽图。实际上每个团队完成迭代的过程差别很大,常见的情况包括: 先鼓起后落下 原因是计划会以常常漏掉一些事情,所以开工后不但不燃尽,还发现了很多新的任务。 先完美燃烧,然后突然停止燃烧 一种很常见的情况,如果任务划分太粗,比如长达10天,很容易“做了1天,剩9天;做了1天,剩8天;……到剩2~3天的时候,哎呀,好像搞不定了”。 先缓慢燃烧,然后到快燃尽的时候剩下一堆没完成的任务,被推迟到下个迭代 之前提到过敏捷开发的MoSCoW方法,有些故事是次要的“可以不做的”,所以这种燃烧图也很常见;但是常常有团队没有使用MoSCoW方法,只是被动地发现有些故事没有完成。 …… 为了改进这些不完美,有些团队设置了一些度量项来改进燃尽图的结果,比如“迭代按时燃尽的次数”“剩余故事占总故事的比例”…… 其实不用因为燃尽图的不完美而伤脑筋,在般若敏捷的“无住”中曾经提到,这些方法都非我们的目的,而只是一个中间的工具,因此为了完成我们的最终目的,这些工具和方法都可以灵活变通,而不要追求工具和度量数据本身的完美。 但是,迭代的最终目的到底是什么呢?有哪些“灵活变通”可以应用在燃尽图中呢?且待下回分解。

软件测试规范标准[详]

软件测试规 1目的 确保软件产品质量,使产品能够顺利交付和通过验收的一项重要措施。 2适用围 适用于项目开发过程中的单元测试、集成测试、系统测试、业务测试、验收测试以及一些专项测试。 3职责 ?项目测试负责人组织编制《测试计划》、《测试方案》,指导和督促测试人员完成各阶段的测试工作。 ?项目组测试人员按照《测试计划》、《测试方案》完成所承担的测试任务,并按要求填写《问题报告及维护记录》。 ?测试经理依照确认规程和准则对工作产品进行确认,提出对确认规程和准则的修改意见 ?项目负责人组织测试环境的建立。 ?项目经理审核负责控制整个项目的时间和质量。 ?研发人员确认修改测试人员提交的bug。 4工作流程 4.1 测试依据 详细设计是模块测试的依据。因此设计人员应向测试人员提供《系统需求规格书名书》、《详细设计》、《概要设计》等有关资料。测试人员必须认真阅读,真正弄懂系统需求和详细设计。 4.2 制订《测试方案》 在测试之前,由项目负责人根据《测试计划》的要求,组织人员编制相应的《测试方案》,《测试方案》应包括以下容:

?测试目的; ?所需人员及相应培训要求; ?测试环境、工具和测试软件; ?测试用例、测试数据和预期的结果。 4.3 单元测试 项目开发实现过程中,每个程序单元(程序单元的划分视具体开发工具而定,一般定为函数或子程序级)编码调试通过后,要及时进行单元测试。 单元测试由单元开发者自己进行,使用白盒测试方法,根据程序单元的控制流程,争取达到分支覆盖。对于交互式运行的产品,不便于进行自动测试的,可以采用功能测试的方法进行。 单元测试针对程序模块,从程序的部结构出发设计测试用例。多个模块可以独立进行单元测试。 ?单元测试容包括模块接口测试、局部数据结构测试、路径测试、错误处理测试等; ?单元测试组织原则一遍根据开发进度安排对已开发完成的单一模块进行测试; ?单元测试停止标准:完成了所有规定单元的测试,单元测试中发现的bug已经得到修改。 4.4 集成测试 编码开发完成,项目组部应进行组装测试。 集成测试由项目负责人组织策划(编写测试计划、测试用例)并实施。集成测试着重对各功能模块之间的接口进行测试,验证各功能模块是否能协调工作、参数传递及功能调用是否正常。测试采用交叉方法,即个人开发的软件应由其他的项目组成员进行测试。 集成测试过程应填写《问题报告及维护记录》,测试结果应形成《测试报告》。 4.5 系统测试 在项目开发完成之后,应对整个系统软件和硬件进行系统测试。对性能、可靠性、健壮性、压力承受力等方面分别进行评价,以验证系统是否满足

华软敏捷开发与测试复习提纲

(一)简答 1.敏捷软件测试的关键成功要素。 2.敏捷宣言。 3.常用的敏捷方法。 4.敏捷测试象限。

5.敏捷测试中,自动化的原因有哪些?

6.敏捷测试与传统测试的区别。 7.高效敏捷测试自动化工具的特征。 (二)有关敏捷开发与测试重要知识点:(填空)

(三)教材每章最后的小结。 文化因素如何影响测试人员和他们的团队成功的转变到敏捷开发。 1 在做出任何变化之前都应该考虑组织文化。 2 当整个组织重视质量的时候,测试人员可以容易地融入敏捷团队,但是具有“质量警察”思想的测试人员很难融入敏捷团队。 3 有些测试人员可能会在适应“整个团队”对质量负责的时候有困难,但是团队方式可以帮助克服文化差异。 1 要考虑团队结构的重要性 2 测试人员需要接触更大的测试人员社区来学习和实践新的想法。 3 整个团队在一个地点很重要。 4 在招聘时关注态度。 5 没有正确的测试人员-开发人员比例。 6 团队需要自组织,应确认并确认他们自己的问题,并寻找进步的方法。 7 如果团队在努力,管理层应该奖励促进团队交付业务价值的业绩,但不要惩罚个人。 8 测试人员可以使用敏捷原则来改进自己的技能并增加他们带给团队的价值。 正确的度量标准能够帮助团队运转正常以实现特定目标,并提供良好的投资回报。 度量标准应该是可见的,应提供必要的里程碑以供我们做出决定。 使用缺陷跟踪系统的原因包括便捷、用作知识库、用于跟踪。 缺陷跟踪系统被滥用作沟通工具,记录和跟踪不必要的缺陷是一种浪费。 所有工具,包括缺陷跟踪工具,需要整个团队使用,所以在选择工具时应考虑所有人的看法。测试策略是长期的总体测试方法,可以记录在静态文档中。测试计划应该对每个项目都是唯一的。 在简单地接受文档之前应考虑替代方案。例如,敏捷方法提倡小的增量开发、紧密协作,可

单元测试规范

单元测试规范文档

目录 第一章文档介绍 (3) 1.1目的 (3) 1.2阅读对象 (3) 第二章概述 (3) 2.1 定义 (3) 2.2 目的 (4) 2.3 步骤 (4) 2.4 常见模块单元的错误 (5)

第一章文档介绍 1.1目的 本文档是关于进行单元测试(Unit Test)的规范性文档,本文档中描述了单元测试的原则、流程和方法,是软件开发人员在进行单元测试时的工作指南 1.2阅读对象 本文档适合以下人员阅读 项目经理 软件开发工程师 软件测试工程师 第二章概述 2.1 定义 单元测试是对软件基本组成单元进行的测试,所谓“单元”是指: 具有明确的功能 具有明确的规格定义(详细设计说明书) 有与其他部分明确的接口定义 能够与程序的其他部分清晰地进行区分

2.2 目的 单元测试用例的设计是要验证被测程序单元的如下这些方面: 1) 是否正确实现了规定的功能 2) 模块内部是否存在错误 2.3 步骤 单元测试的侧重点在于发现程序设计或者实现中的逻辑错误。它分为计划、设计、实现、执行和评估五个步骤。各步骤的定义如下: 1) 计划单元测试 确定测试需求,制订测试策略,确定测试所用资源,创建测试任务的时间表。 2) 设计单元测试 设计单元测试输入参数、期望参数数据模型如: 测试获取用户信息服务 输入参数userId,期望输出数据模型UserInfo 3) 实现单元测试 编写单元测试,包括输入参数校验、调用待测试服务、断言实际输出参数是否与期望输出数据模型一致 4) 执行单元测试 验证测试结果记录并修正测试过程中出现的缺陷。 5) 评估单元测试 对单元测试的结果进行评估,主要从需求覆盖和代码覆盖的角度进行测试完备性的评估。

软件研发测试报告

丰台科技馆科普互动远程点播系统 研发测试报告 拟制:李志洋日期: 审核:史方舟日期: 批准:袁爱英日期: 北京锦绣年华信息技术有限责任公司 编制日期:2007年12月

目录 1 范围................................................................... 1.1定义.............................................................. 1.1.1标识......................................................... 1.1.2术语......................................................... 1.1.3缩写词....................................................... 1.2系统概述.......................................................... 1.2.1软件用途..................................................... 1.2.2特性......................................................... 1.2.3项目背景..................................................... 1.2.4运行环境..................................................... 1.3文档概述.......................................................... 2引用文档............................................................... 3测试结果概述........................................................... 3.1测试环境的影响.................................................... 3.2改进建议.......................................................... 4详细的测试结果......................................................... 4.1基础平台 > 人员管理 > 用户管理.................................... 4.1.1测试结果小结................................................. 4.1.2遇到的问题................................................... 4.1.3与测试用例/过程的偏差........................................ 4.2基础平台 > 全局设置 > 代码维护.................................... 4.2.1测试结果小结................................................. 4.2.2遇到的问题................................................... 4.2.3与测试用例/过程的偏差........................................ 4.3基础平台 > 权限管理............................................... 4.3.1测试结果小结................................................. 4.3.2遇到的问题................................................... 4.3.3与测试用例/过程的偏差........................................ 4.4基础平台 > 网站定制............................................... 4.4.1测试结果小结................................................. 4.4.2遇到的问题................................................... 4.4.3与测试用例/过程的偏差........................................ 4.5门户前台.......................................................... 4.5.1测试结果小结................................................. 4.5.2遇到的问题................................................... 4.5.3与测试用例/过程的偏差........................................ 5测试记录............................................................... 1范围 1.1定义 此份测试报告是程序员在进行测试计划(单元测试)指定测试编写。

软件测试怎么测试 谈软件测试常用方法和测试流程

摘要软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件开发过程的重要组成部分,是软件质量保证的关键步骤。软件测试的方法可分为人工测试和机器测试,人工测试包括个人复查、走查和会审,机器测试可分为白盒测试和黑盒测试。软件测试虽然是一个独立的阶段,但在实际工作中,测试的流程主要包含单元测试、组装测试、确认测试、系统测试四个阶段。 关键词软件测试;白盒;黑盒;单元测试;组装测试;确认测试;系统测试 一、软件测试的常用方法 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件开发过程的重要组成部分,是软件质量保证的关键步骤。采用面向对象技术进行软件开发产生了两个结果一是开发出功能更强大更便于用户使用的软件产品,二是生成规模庞大的程序代码和文档,这也必然导致更大规模的软件测试和维护工作。因此,规范化的软件测试势在必行。规范化不只是测试的需求(有效代码量、结构/逻辑的复杂性、高性能/高精确性/高可靠性需求)和消耗资源(人力/时间/测试频度)规模化,更要求在面对规模庞大的软件测试需求,在合理的资源消耗基础上,实施有效的测试。 下图描述的是常用的一些测试方法

1、人工测试的方法 (1)个人复查 个人复查是指程序员自行设计测试用例,对源代码、详细设计进行仔细检查,并记录错误、不足之处等。个人复查主要包括检查变量的正确性、检查标号的正确性、检查子程序、宏、函数、常量检查、标准检查、风格检查、比较控制流、选择、激活路径、对照详细说明书,阅读源代码和补充文档等方面的测试内容。 (2)走查 走查是指测试人员先阅读相应的文档和源代码,然后人工将测试数据输入被测试程序,并在纸上跟踪监视程序的执行情况,人工沿着程序的逻辑走查运行一遍,跟踪走查运行的进程来发现程序的错误。走查的具体测试内容包括模块特性、模块接口、模块的对外输入或输出、局部数据结构、数据计算错误、控制流错误、处理出错和边界测试等方面。 (3)会审 会审是指测试人员在会审前仔细阅读软件的有关资料,根据错误类型清单(根据以往的经验、对源程序的估计等,并在以后测试中给以丰富补充)填写检测表,提出根据错误类型要提出的问题。会审时,由程序设计人员讲解程序的设计方法,

软件测试规范

软件测试标准规范 1目的 为了确保软件产品质量,使产品能够顺利交付和通过验收,特编写本文档,以作参考 2适用范围 本文档适用于项目开发过程中的单元测试、集成测试、系统测试、业务测试、验收测试以及一些专项测试。 3职责 ?项目测试负责人组织编制《测试计划》、《测试方案》,指导和督促测试人员完成各阶段的测试工作。 ?项目组测试人员按照《测试计划》、《测试方案》完成所承担的测试任务,并按要求填写《问题报告及维护 记录》。 ?测试经理依照确认规程和准则对工作产品进行确认,提出对确认规程和准则的修改意见 ?项目负责人组织测试环境的建立。 ?项目经理审核负责控制整个项目的时间和质量。 ?研发人员确认修改测试人员提交的bug。 4工作流程 4.1测试依据 详细设计是模块测试的依据。因此设计人员应向测试人员提供《系统需求规格书名书》、《详细设计》、《概要设计》等有关资料。测试人员必须认真阅读,真正弄懂系统需求和详细设计。 4.2制订《测试方案》

在测试之前,由项目负责人根据《测试计划》的要求,组织人员编制相应的《测试方案》,《测试方案》应包括以下内容: ?测试目的; ?所需人员及相应培训要求; ?测试环境、工具和测试软件; ?测试用例、测试数据和预期的结果。 4.3单元测试 项目开发实现过程中,每个程序单元(程序单元的划分视具体开发工具而定,一般定为函数或子程序级)编码调试通过后,要及时进行单元测试。 单元测试由单元开发者自己进行,使用白盒测试方法,根据程序单元的控制流程,争取达到分支覆盖。对于交互式运行的产品,不便于进行自动测试的,可以采用功能测试的方法进行。 单元测试针对程序模块,从程序的内部结构出发设计测试用例。多个模块可以独立进行单元测试。 ?单元测试内容包括模块接口测试、局部数据结构测试、路径测试、错误处理测试等; ?单元测试组织原则一遍根据开发进度安排对已开发完成的单一模块进行测试; ?单元测试停止标准:完成了所有规定单元的测试,单元测试中发现的bug已经得到修改。 4.4集成测试 编码开发完成,项目组内部应进行组装测试。 集成测试由项目负责人组织策划(编写测试计划、测试用例)并实施。集成测试着重对各功能模块之间的接口进行测试,验证各功能模块是否能协调工作、参数传递及功能调用是否正常。测试采用交叉方法,即个人开发的软件应由其他的项目组成员进行测试。

软件开发规范

软件开发规范 Final approval draft on November 22, 2020

附2: 软件文档编写向导 文档分类 项目包括如下几类文档: 项目管理文档。包括:《软件项目计划》、《项目进度报告》、《项目开发总结报告》 软件开发文档。包括:《需求规格说明》、《概要设计说明》、《详细设计说明》、《测试计划》、《软件测试分析报告》。 产品文档。包括:《用户操作手册》《演示文件》。 软件项目计划 (Software Project Plan) 一.引言 1.编写目的(阐明编写软件计划的目的,指出读者对象。) 2.项目背景(可包括:(1)项目委托单位、开发单位和主管部门;(2)该软件系统与其他系统的关系。) 3.定义(列出本文档中用到的专门术语的定义和缩略词的原文。) 4.参考资料(可包括:文档所引用的资料、规范等;列出资料的作者、标题、编号、发表日期、出版单位或资料来源。) 二.项目概述 1. 工作内容(简要说明项目的各项主要工作,介绍所开发软件的功能性能等. 若不编写可行性研究报告,则应在本节给出较详细的介绍。) 2. 条件与限制(阐明为完成项目应具备的条件开发单位已具备的条件以及尚需创造的条件. 必要时还应说明用户及分合同承包者承担的工作完成期限及其它条件与限制。) 3. 产品 (1)程序(列出应交付的程序名称使用的语言及存储形式。) (2)文档(列出应交付的文档。) (3)运行环境(应包括硬件环境软件环境。)

4.服务(阐明开发单位可向用户提供的服务. 如人员培训安装保修维护和其他运行支持。) 5.验收标准 三.实施计划 1.任务分解(任务的划分及各项任务的负责人。) 2.进度(按阶段完成的项目,用图表说明开始时间完成时间。) 3.预算 4.关键问题(说明可能影响项目的关键问题,如设备条件技术难点或其他风险因素,并说明对策。) 四.人员组织及分工 五.交付期限 六.专题计划要点(如测试计划等。) 项目开发进度报告 一.报告时间及所处的开发阶段 二.给出进度 1.本周的主要活动 2.实际进展与计划比较 三.所用工时(按不同层次人员分别计时。) 四.所有机时 五.工作遇到的问题及采取的对策 六.本周完成的成果 七.下周的工作计划 八.特殊问题 项目开发总结报告 一.引言 1.编写目的(阐明编写总结报告的目的,指明读者对象。) 2.项目背景(说明项目的来源、委托单位、开发单位及主管部门。) 3.定义(列出报告中用到的专门术语定义和缩写词的原意。)

敏捷开发测试要求规范V0.1

敏捷开发测试规范(试行)

2012年9月 版本记录 目录 1 概述 (4) 1.1 编写目的 (4) 1.2 读者对象 (4) 1.3 术语定义 (5) 2 敏捷测试流程 (5) 2.1 需求验证 (6) 2.2 用例设计 (6) 2.3 用例审核与维护 ................................................................................... 错误!未定义书签。

2.5 测试实施运行 (7) 2.6 版本控制 (8) 2.7 需求变更 (9) 2.8 迭代末期“bug大扫除” (9) 3 敏捷测试方法与策略 (10) 3.1 持续测试、持续反馈 (10) 3.2 单元测试方法策略 (10) 3.3 功能测试方法策略 (11) 3.4 性能测试方法 (12) 3.5 系统测试策略 (12) 3.6 测试驱动研发 (13) 3.7 持续集成测试 (14) 4 终端移动互联网测试 (15) 4.1 用户体验测试 (15) 4.2 平台兼容性测试 (16) 4.3 不同网络环境下测试 (16) 4.4 多事务并发测试 (17) 4.5 安装、卸载测试 (17) 5 测试工具和环境 (18) 5.1 单元测试工具 (18) 5.2 功能回归测试工具 (19)

5.4 持续集成测试环境 (19) 6 测试人员要求 (19) 6.1 人力需求 (19) 6.2 测试人员能力要求 (20) 7 附录 (21) 1 概述 1.1 编写目的 ICT自主开发产品拟采用敏捷开发模式,为规范ICT支撑中心项目敏捷测试流程,明确敏捷开发模式下的术语定义,明确敏捷测试方法与策略,明确移动互联网测试特有的测试内容,确定敏捷开发模式下用到的测试工具以及测试环境,以及初步确定敏捷测试人力需求计算方式与对人员能力要求,特制定本规范。本规范适用于采用敏捷开发模式下的所有自主开发移动互联网产品。 1.2 读者对象 本规范读者对象为软件开发项目管理者、项目经理、测试经理、开发经理、开发组、测

XX开发人员任职资格标准

XX公司开发人员任职资格标准 (试行版)

目录 一、级别划分及申报条件 (3) 1、级别划分 (3) 1.1、级别划分 (3) 1.2、三等设置 (4) 2、申报条件 (4) 2.1、学历及工作年限要求 (5) 2.2、知识技能要求 (5) 二、任职资格行为标准 (6) 一级(助理软件工程师) (6) 1、参与需求讨论(理解需求并执行) (6) 1.1、制作demo (6) 1.2、理解需求文档 (6) 2、参与设计 (6) 2.1、参与编写概要设计文档 (6) 3、功能开发 (7) 3.1、确认开发任务 (7) 3.2、开发搭建环境 (7) 3.3、编写功能代码 (7) 3.4、单元测试 (7) 3.5、执行版本控制 (8) 二级(软件工程师) (8) 1 需求分析(理解) (8) 1.1、参与需求调研 (8) 1.2、编写需求文档 (8) 2 模块设计 (9) 2.1、编写概要设计文档 (9) 2.2、编写详细设计文档 (9) 3 模块开发 (9)

3.1、确认开发任务 (9) 3.2、开发搭建环境 (9) 3.3、模块功能编写代码 (10) 3.5、参与代码走查 (10) 3.6、单元测试 (10) 3.7、参与整合联调 (10) 3.8、执行版本控制 (11) 三级(高级软件工程师) (11) 1 支持售前工作 (11) 1.1、技术可行性分析 (11) 1.2、参与技术方案文档编写 (11) 1.3、评估工作量及风险 (11) 2 控制和主导需求 (11) 2.1、主导需求调研 (11) 2.2、需求分析 (12) 3 核心模块开发 (12) 3.1、核心功能代码编写 (12) 3.2、解决技术难题 (12) 一、级别划分及申报条件 1、级别划分 软件研发类人员划分为5级,每级分为4等,具体为: 1.1、级别划分

实例详解敏捷测试实践

实例详解敏捷测试 第一部分:敏捷软件开发简介 敏捷软件开发(Agile Software Development)初起于九十年代中期。最早是为了与传统的瀑布软件开发模式(waterfall model)相比较,所以当时的方法叫做轻量级方法(Lightweight methods)。二十世纪初,17 位该方法的倡导者建立了敏捷联盟(Agile Alliance),并将该软件开发方法命名为敏捷软件开发过程。 敏捷联盟在成立之初总结了四条基本的价值原则: 1.人员交流重于过程与工具(Individuals and interactions over processes and tools) 2.软件产品重于长篇大论(Working software over comprehensive documentation) 3.客户协作重于合同谈判(Customer collaboration over contract negotiation) 4.随机应变重于循规蹈矩(Responding to change over following a plan) 基于这四点原则,敏捷软件开发有着自己独特的流程(参见图1)。 图 1. 敏捷软件开发流程 整个过程中夹杂了很多在敏捷开发前己经出现的软件开发方法,包括极限编程(Extreme Programming,1996)、Scrum(1986)、特征驱动开发(Feature Driven Development),测试驱动开发(Test Driven Development)等。这些方法在敏捷软件开发流程的各个阶段都有充分的体现和应用。 例如,Scrum 主要着重于项目管理,团队中的项目经理(Scrum master)需要在每个客户需求到来的时候制定Sprint 的周期,定义每个Sprint 的目标、分派任务、进行监督、最后总结得失并开始计划新的Sprint。

开发人员单元测试规范

为了提高整个开发中心产品和项目的测试效率,保证产品与项目内部系统集成测试的顺利进行,现要求系统开发部各项目组在提交产品至项目监理部之前必须进行严格的单元测试,即按照代码的单元组成逐个进行测试。具体说明如下: 单元测试内容 单元测试的依据是详细设计,应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试的测试类型主要包括: 1 模块接口测试; 2 模块局部数据结构测试; 3 模块边界条件测试; 4 模块中所有独立执行通路测试; 5 模块的各条错误处理通路测试; 6 模块的非法测试,例如在输入数字的地方输入字母; 7代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误; 8系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。有些程序在WIN2000下能运行,而到WIN98却不能运行。 单元测试力度要求测试力度满足: 语句覆盖:使被测程序的每条语句至少执行一次;判定覆盖:使被测程序的每一分支执行一次; 条件覆盖:要求判定中的每个条件均为“真”、“假”两种结果至少执行一次;条件组合覆盖:让条件覆盖中的结果的所有可能组合至少出现一次; 单元测试步骤 一般认为单元测试应紧接在编码之后,当源程序编制完成并通过复审和编译检查,便可开始单元测试。测试用例的设计应与复审工作相结合,根据设计信息选取测试数据,将增大发现各类错误的可能性。在确定测试用例的同时,应给出期望结果。项目组完成单元测试,向项目监理部提交验收版本的同时必须一并递交单元测试案例及测试问题报告记录。 测试部由项目监理部取得需测试系统的版本及相关文档,若在测试期间发现单元测试中记录的问题,如实记录。项目监理部视具体情况酌情对该项目组的绩效考核与项目评分加以控制。 不同语言及架构的单元测试见附件。 附件一 c++语言单元测试规范 1. 基本要求 1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。 1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。 1.3 尽量使用标准库函数和公共函数。 1.4 不要随意定义全局变量,尽量使用局部变量。 1.5 使用括号以避免二义性。 2.可读性要求 2.1 可读性第一,效率第二。 2.2 保持注释与代码完全一致。 2.3 每个源程序文件,都有文件头说明,说明规格见规范。 2.4 每个函数,都有函数头说明,说明规格见规范。 2.5 主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。 2.7 常量定义(DEFINE)有相应说明。 2.8 处理过程的每个阶段都有相关注释说明。 2.9 在典型算法前都有注释。 2.10 利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为 6个字节。 2.11 循环、分支层次不要超过五层。 2.12 注释可以与语句在同一行,也可以在上行。 2.13 空行和空白字符也是一种特殊注释。 2.14 一目了然的语句不加注释。

软件产品研发阶段的测试管理

软件产品研发阶段的测试管理 测试是开发中必不可少的工作 首先,一个软件产品或系统的开发成功,不仅仅是编写完为使用者提供服务功能的程序而已。软件程序编写的完成,其实只是完成了开发任务中的一半。与程序的开发相配合的、具有同样重要性的另一半工作,是对开发完毕的软件所进行必要的测试。 对测试的管理和执行,其重要性不亚于对程序本身的开发。你可以花费巨大的资源和努力进行程序的开发,可是你要是没有与此配套的完善的测试,所开发出来的软件往往会因为质量问题无法满足客户的要求和帮助你赢得市场的竞争。 近几年来国内信息业界的软件开发的成熟程度大大提高,很多公司都开始重视软件测试的重要性、并建立了与此相关的组织结构来保证测试工作得以执行。但是忽视或轻视测试工作的不良习惯和企业文化仍旧普遍存在。 在中国项目管理俱乐部的网站上有业界的同仁们反映了这样的情况:他的公司居然还采用所有的软件开发人员都只做程序编写、只有一个人担任软件测试工作这样一种组织结构,而且这个公司的领导认为只有程序的编写才属于实际的开发工作,因此只知道夸奖程序编写人员的工作成果、完全忽视测试人员的贡献。 虽然这样的近于荒唐的例子可能是极少数的极端现象,但在相当大比例的软件企业中测试人员往往仍旧是被当作“二等公民”看待,好像他们只是开发人员的配角而已,对软件最终是否合格和能否发行的判决,并没有实际的影响力。 一个成熟和高效的开发组织应该、也必须采取与此完全相反的做法:将软件的测试和开发放到同等重要的位置上,对软件的测试和开发给予同样程度的重视。这种项目管理的理念就要求对软件测试给予与软件开发相同的资源和支持,用同等的组织结构和人才来保证软件测试得到严格的执行。 微软公司就是用组织结构来保证产品开发的运作流程充分体现对软件测试的尊重、承认测试的重要性。微软总部各个产品部门的所有开发组织都有与程序开发团队并列的测试团队–任何开发组织都是由项目管理、软件程序开发、和软件测试三个并列的团队组成。 这样的“三驾马车”的组织结构,保证了测试团队是一个独立于程序开发团队之外的机构,软件测试的结果和测试人员的观点在这样的组织结构中不会被程序开发人员随意推翻或践踏,测试人员能够大胆申诉测试结果、坚持测试的判决、包括阻止不合格的软件发行。我在Windows操作系统部门进行视窗嵌入式操作系统的开发工作时,就碰到过好几起因为测试团队坚持测试结果的审判,从而阻止了开发团队能够按时发行开发完毕的软件的情况。

敏捷开发测试规范V0.1

敏捷开发测试规范(试行) 2012年9月

目录 1 概述 (3) 1.1 编写目的 (3) 1.2 读者对象 (3) 1.3 术语定义 (3) 2 敏捷测试流程 (3) 2.1 需求验证 (4) 2.2 用例设计 (4) 2.3 用例审核与维护.............................................................................. 错误!未定义书签。 2.4 测试计划 (4) 2.5 测试实施运行 (4) 2.6 版本控制 (5) 2.7 需求变更 (6) 2.8 迭代末期“bug大扫除” (6) 3 敏捷测试方法与策略 (7) 3.1 持续测试、持续反馈 (7) 3.2 单元测试方法策略 (7) 3.3 功能测试方法策略 (7) 3.4 性能测试方法 (8) 3.5 系统测试策略 (9) 3.6 测试驱动研发 (9) 3.7 持续集成测试 (10) 4 终端移动互联网测试 (11) 4.1 用户体验测试 (11) 4.2 平台兼容性测试 (12) 4.3 不同网络环境下测试 (12) 4.4 多事务并发测试 (12) 4.5 安装、卸载测试 (13) 5 测试工具和环境 (13) 5.1 单元测试工具 (13) 5.2 功能回归测试工具 (14) 5.3 性能测试工具 (14) 5.4 持续集成测试环境 (14) 6 测试人员要求 (14) 6.1 人力需求 (14) 6.2 测试人员能力要求 (14) 7 附录 (16)

1 概述 1.1 编写目的 ICT自主开发产品拟采用敏捷开发模式,为规范ICT支撑中心项目敏捷测试流程,明确敏捷开发模式下的术语定义,明确敏捷测试方法与策略,明确移动互联网测试特有的测试内容,确定敏捷开发模式下用到的测试工具以及测试环境,以及初步确定敏捷测试人力需求计算方式与对人员能力要求,特制定本规范。本规范适用于采用敏捷开发模式下的所有自主开发移动互联网产品。 1.2 读者对象 本规范读者对象为软件开发项目管理者、项目经理、测试经理、开发经理、开发组、测试组所有人员。 1.3 术语定义 敏捷开发模式下的几种重要角色、产品文档及过程会议术语如表1-1: 表1-1 2 敏捷测试流程

敏捷开发测试要求规范V0.1

敏捷开发测试规(试行) 2012年9月

目录 1 概述 (3) 1.1 编写目的 (3) 1.2 读者对象 (3) 1.3 术语定义 (3) 2 敏捷测试流程 (3) 2.1 需求验证 (3) 2.2 用例设计 (3) 2.3 用例审核与维护 (3) 2.4 测试计划 (3) 2.5 测试实施运行 (4) 2.6 版本控制 (4) 2.7 需求变更 (5) 2.8 迭代末期“bug大扫除” (5) 3 敏捷测试方法与策略 (5) 3.1 持续测试、持续反馈 (5) 3.2 单元测试方法策略 (5) 3.3 功能测试方法策略 (5) 3.4 性能测试方法 (6) 3.5 系统测试策略 (6) 3.6 测试驱动研发 (7) 3.7 持续集成测试 (7) 4 终端移动互联网测试 (7) 4.1 用户体验测试 (7) 4.2 平台兼容性测试 (7) 4.3 不同网络环境下测试 (8) 4.4 多事务并发测试 (8) 4.5 安装、卸载测试 (8) 5 测试工具和环境 (8) 5.1 单元测试工具 (8) 5.2 功能回归测试工具 (8) 5.3 性能测试工具 (9) 5.4 持续集成测试环境 (9) 6 测试人员要求 (9) 6.1 人力需求 (9) 6.2 测试人员能力要求 (9) 7 附录 (11)

1 概述 1.1 编写目的 ICT自主开发产品拟采用敏捷开发模式,为规ICT支撑中心项目敏捷测试流程,明确敏捷开发模式下的术语定义,明确敏捷测试方法与策略,明确移动互联网测试特有的测试容,确定敏捷开发模式下用到的测试工具以及测试环境,以及初步确定敏捷测试人力需求计算方式与对人员能力要求,特制定本规。本规适用于采用敏捷开发模式下的所有自主开发移动互联网产品。 1.2 读者对象 本规读者对象为软件开发项目管理者、项目经理、测试经理、开发经理、开发组、测试组所有人员。 1.3 术语定义 敏捷开发模式下的几种重要角色、产品文档及过程会议术语如表1-1: 表1-1 2 敏捷测试流程

相关文档
最新文档