实例详解敏捷测试实践

实例详解敏捷测试实践
实例详解敏捷测试实践

实例详解敏捷测试

第一部分:敏捷软件开发简介

敏捷软件开发(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。

相反,特征驱动开发和测试驱动开发主要被应用于Sprint 周期中。如果项目进行于开发新功能时期,这个阶段主要推行特征驱动开发。所有测试和开发人员都将自己的工作重心放在新的功能上面,从开发和测试两个方面来完成各自的任务。如果项目进行于测试新功能时期,这个阶段需要将工作的重点挪到测试上来。所有的测试和开发人员都密切关注着目前版本的缺陷状况。测试人员需要在每天的站立会议(Daily Standup Meeting)上报告前一个工作日发现的新缺陷情况,项目经理根据项目进度和缺陷严重性来决定是否修复这些问题。需要及时修复的缺陷是目前Sprint 中的一个新任务,将由项目经理添加到Sprint Backlog 上并通知开发人员去修复漏洞。

对于敏捷开发和测试中的审查过程,极限编程中的同行评审(peer review)思想得到了充分应用。代码和文档的审查追求简单而高效。团队成员两两组成一对,互相评审;有时候,一个开发和一个测试人员也可以组成一对,互相协作。这样能够有助于缺陷和问题在第一时间被抹杀在萌芽中。

敏捷开发还有以下几个关键概念(Key Issues):

1.迭代过程(Iterative process)

2.用户故事(User stories)

3.任务(Tasks)

4.站立会议(Stand-up meeting)

5.持续集成(Continuous integration)

6.最简方案(Simplest solutions)

7.重构(Re-factoring)

这些概念是敏捷开发中经常使用到的观点和方法。下面我们将详细论述测试人员在敏捷软件开发中扮演的角色和职能。

第二部分:敏捷开发中的测试人员

本部分将简要介绍敏捷开发中测试人员所需要具备的素质和职责。

2.1 敏捷开发团队介绍

我们的敏捷开发团队由四位开发人员、两位测试人员、一位产品设计,一位项目经理和一位产品经理组成(参见图2)。每天早上十点,在固定的时间和会议室里面,团队会举行站立会议。这时候,团队成员按照既定的顺序向项目经理汇报各自前一天完成的任务,所遇到的困难和当天要完成的任务。同时,项目经理更新Sprint Backlog(一张制作精良的Excel 表格),并及时解决每个人所提出的问题。

图 2. 敏捷开发团队成员

由于敏捷开发要求参与人能够快速而高效得应对变化,所以无形中对测试人员提出很高的要求。

2.2 测试人员需要具备的素质

测试是软件开发中不可或缺的一部分。在敏捷软件开发中亦是如此。不同的组织给测试人员以不同的称号:测试开发(Test Developer)、质量分析员(Quality Analyst)、软件质量工程师(Software Quality Engineer) 等。

每个称号隐含有不同的职能。以上的称号分别对应以下的能力要求:

1.具有质量检测和编写代码的能力–> 测试开发

2.具有防止缺陷(Quality Assurance) 和质量控制(Quality Control) 的能力–> 质量分

析员

3.具有开发和执行测试程序的能力-> 软件质量工程师

总结而言,有三方面的基本素质要求:代码编写(Coding)、测试(Testing) 和分析(Analysis)。

在很多其他的开发流程中,各个测试阶段对测试人员的能力有所不同;有时候侧重分析(比如系统配置测试),有时候侧重代码编写( 比如功能测试)。但是,在敏捷开发流程中,测试人员需要结合这三方面来开展工作,只有这样才能真正反映敏捷测试的本质:简单而高效得应对变化。

2.3 测试人员的主要职责

在敏捷软件开发中,测试人员的职责有三个主要方面:

1.定义质量(Define Quality):这应该是软件测试人员的基本职责。敏捷方法鼓励测试

人员在Sprint 计划的时候直接与客户交流,从自己的经验出发,共同为产品功能制定质量要求。

2.交流缺陷(Communication):敏捷过程强调团队中的交流。开发人员经常会专注于

重要而新奇的功能,测试人员应该抓住细节,寻找设计中的“missing door”;另外,开发人员使用单元测试来保证产品的基本质量,测试人员可以使用验收测试

(Acceptance Test)来鉴定客户需求与实际成果之间的不一致性。

3.及时反馈(Feedback): 敏捷过程强调简单而高效。测试人员需要及时反馈产品目前

的质量问题。这样一来,团队才可以立刻着手解决。如果传统的流程是一周汇总一次状态的话,敏捷流程要求每天汇总质量问题。在我们的项目中,内部的测试报告会以网页的形式显示在内部站点上。每个团队成员能够随时获取。另外,我们的测试框架提供自助测试(Self-assistant Test):通过点击测试用例列表中的某个具体用

例,开发人员不需要中断测试人员的工作就可以重现缺陷。

以上总结了测试人员在敏捷开发中的需要展现的能力和担负的任务,下面请跟随一个项目实例来详细了解敏捷测试的最佳实践。

第三部分:敏捷开发中的测试流程

本部分结合一个软件项目,详细介绍项目流程中的主要测试活动,每个活动的前提条件和目标任务等。

3.1 介绍项目实例

项目介绍:根据一家在线B2B 公司的要求,我们将为其开发一款类似于谷歌的搜索服务。作为Web Service,该服务可以内嵌于网页中。当用户输入关键词并选择商户的类型和位置后,系统会返回具体商户的列表(参见图3)。

图 3. 项目实例图

典型的敏捷开发和测试活动参见下表。它主要由三部分构成,从最初的用户故事设计和发布计划,到几次Sprint 周期的迭代开发和测试,以及最后的产品发布阶段。每个时间段都有相应的测试活动。通常Sprint 周期被分成两类:特征周期(Feature Sprint)和发布周期(Release Sprint)。特征周期主要涉及新功能的开发和各类测试。发布周期则会结合计划,确定新版本功能,然后对最新的功能进行测试。

敏捷开发的主要活动测试活动

用户故事设计寻找隐藏的假设

发布计划设计概要的验收测试用例

迭代Sprint 估算验收测试时间

编码和单元测试估算测试框架的搭建

重构详细设计验收测试用例

集成编写验收测试用例

执行验收测试重构验收测试

Sprint 结束执行验收测试

下一个Sprint 开始执行回归测试

发布发布

在迭代的Sprint 周期中,开发部分可以根据传统步骤分成编码和单元测试、重构和集成。需要指出的是,重构和集成是敏捷开发的Sprint 迭代中不可忽视的任务。如果在新的Sprint 周期中要对上次的功能加以优化和改进,必然离不开重构和集成。

在每个Sprint 周期结束前,测试团队将提交针对该Sprint 周期或者上个Sprint 周期中已完成的功能的验收测试(在实际项目中,测试团队的进度通常会晚于开发团队)。这样一来,开发团队可以运行验收测试来验证所开发的功能目前是否符合预期。当然,这个预期也是在迭代中不断变化和完善的。

当产品的所有功能得以实现,测试工作基本结束后,就进入了发布周期。此时,测试团队的任务相对较多。

以上,我们概述了敏捷开发的主要活动。下面我们将对各阶段相应的测试活动作详细的介绍和分析。首先是用户故事设计和发布阶段。

3.2 用户故事设计和发布计划阶段

在用户故事和发布计划阶段,项目经理和产品经理会根据客户的需求,制定概要的产品发布日程计划。此时,测试人员可以和开发人员一起学习新的功能,了解客户的需求。其中,有两个主要活动:寻找隐藏的假设和设计概要的验收测试用例。

3.2.1 寻找隐藏的假设

正如前文所述,开发人员通常关注一些重要的系统功能而忽视细节。此外,敏捷开发倡导简单的实现方案,每个开发Sprint 周期不可能将功能完美得实现;相反,每个Sprint 都会增

量得开发一些功能。所以,测试人员在最初就需要从各种角度来寻找系统需求,探索隐藏的假设。

项目实例:

1.从在线B2B 公司角度思考

Q:这个搜索框对公司的业务有什么价值?

A:搜索框可以为用户方便得提供商户的目录信息。如果越来越多用户使用这个搜索框,可以增加我们网站的访问量。

2.从用户角度思考

Q:作为查询信息、寻找商业合作伙伴的网站用户,搜索框对我有什么好处?

A:坏处:找到一家商户的地址,过去才发现已经关门歇业

好处:查找商户很简单,只要轻点鼠标

不快:有时候在寻找一类商户,却记不清楚具体名字

3.从程序员角度思考

Q:一个搜索框的最简单实现方法是什么?

A:一个有text input 和search button 组成的form;后台通过server 程序将符合类型和地址的商户名从数据库中取出,返回给用户;每个返回项包括商户的名称、地址和评价意见。

4.寻找这些观点中的问题

Q:搜索框如何在用户忘记具体名字的时候提醒用户?

A:在第一版本中实现比较困难。可以让用户输入至少一个类型来提高模糊查找的效果。

5.最后寻找到隐藏的假设

以上的思考让测试人员对系统的隐含假设更加清晰:

首先,系统应该能够在高峰时候处理200 条搜索请求和1000 个鼠标点击事件。

其次,用户可以在已经查找到的内容中继续查找

最后,系统提供一个商户类别清单;如果用户选择商户类别而忘记具体名字,系统提供模糊查询。

在敏捷开发中,这些假设可以作为用户故事记录下来,从而指导未来系统的开发和测试。

3.2.2 设计概要的验收测试用例

定义完一系列用户故事后,测试人员就可以着手设计概要的验收测试用例。正如我们在前文论述,不同于单元测试,验收测试检查系统是否满足客户的预期,也就是用户故事是否能够实现。于是,测试人员可以根据每条用户故事来扩展,寻找其中的“动作”,然后为每条“动作”制定正例和反例。

项目实例:

数据期待的结果

搜索一组能成功搜索到的(类别,位

置)数据

在该类别和位置条件下的一

组商户信息

搜索一组不能成功搜索到的(类别,

位置)数据

空列表

3.3 迭代Sprint 阶段

当一个Sprint 周期正式开始时,项目经理将制定该周期的具体开发和测试任务。在定期的Sprint 计划会议(Planning Meeting)上,每位团队成员都要提供自己在未来一个Sprint 周期中的休假和培训计划。另外,每个团队可以根据各自团队成员的能力和工作经验,适当设定一个工作负载值(Load Factor)。比如,我们团队的工作负载值为75%,也就是说每个人平均每天工作6 小时(以8 小时计算)。接着,大家就可以开始分配任务。

当开发团队开始编码和单元测试时,测试人员的工作重点包括:估算验收测试的时间、估算测试框架的搭建、详细设计验收测试和编写验收测试代码。第两个主要活动一般在项目初期的Sprint 周期中完成。其他的三个主要活动将在接下来的多个Sprint 周期中视情况迭代进行。下面我们将具体介绍每个主要活动。

3.3.1 估算验收测试时间

在软件开发初期,需要估算时间以制定计划。这一点在敏捷开发中应用更加广泛。如果以前的开发模式需要测试人员估算一个软件版本发行的计划(这样的计划通常会延续几个月),那么现在则要在每个Sprint 机会会议上估算两周到一个月的任务。此外,在每天的站立会议上,测试人员需要不断得更新自己的估算时间,以应对变化的需求。所以,每个测试人员都应该具备一定的估算任务能力。下面我们将介绍两个通用的估算测试计划的方法:

1.快速而粗糙的方法

从经验而言,测试通常占项目开发的三分之一时间。如果一个项目开发估计要30 天1 人,那么测试时间为10 天 1 人。

项目实例:

搜索框的开发估计需要78 天 1 人完成。但是,考虑到系统有模糊搜索的功能,所以测试任务可能会占40%左右,大概31 天1 人。下面列出了具体的任务:

任务估计时间

设计测试用例,准备测试数据(搜索数据集)8

加载数据集 2

编写自动测试代码18

执行测试和汇报结果 3

总结31

2.细致而周全的方法

这个方法从测试任务的基本步骤出发,进行详细分类。其中包括:

a.测试的准备(设计测试用例、准备测试数据、编写自动测试代码并完善代码)

b.测试的运行(建立环境、执行测试、分析和汇报结果)

c.特殊的考虑

项目实例:

估算单个测试任务的事例参见下表:

测试准备运行特殊考虑估算

1 设计测试用例0.5 建立环境0.1

准备测试数据0.5 执行测试0.1

编写自动测试代码0.5 分析结果0.1

完善自动测试代码 2.5 汇报结果0.1

总共 4 0.4 0 4.4

估算多个测试任务的汇总参见下表:

测试任务编号准备运行特殊考虑估算

1 4 0.4 0 4.4

2 4 0.4 0 4.4

3 12 4.5 8.5 25

4 4 0.4 0 4.4

5 4 0.4 0 4.4

6 4 0.4 0 4.4

7 4 0.4 0 4.4

总共51.4

3.3.2 估算测试框架的搭建

测试框架是自动测试必不可少的一部分工作。由于敏捷开发流程倡导快速而高效得完成任务,这就要求一定的自动测试率。一个完善的测试框架可以大大提高测试效率,及时反馈产品的质量。

在敏捷开发流程中,在第一个Sprint 周期里,需要增加一项建立测试框架的任务。在随后的迭代过程中,只有当测试框架需要大幅度调整时,测试团队才需要考虑将其单独作为任务,否则可以不用作为主要任务罗列出来。

项目实例:

考虑该项目刚刚进入测试,需要为此建立一个测试框架。于是,在原先的估算中多增加一些任务。

任务估算(小时)

选择测试工具 3

建立测试系统 3

编写下载、存放和恢复测试数据的脚本 2

寻找或建立测试结果汇报工具8

设计具体的搜索测试用例 4

准备搜索测试数据 4

编写和测试“搜索”模块 3

编写和测试“验证返回列表”的模块 1

学习“在结果中搜索”的模块设计 4

编写和测试“在结果中搜索”模块 4

第一次执行测试 4

分析第一轮测试结果 4

第二次执行测试 4

分析第二轮测试结果 4

总共52

3.3.3 详细设计验收测试用例

完成对测试任务的估算,接着就可以着手详细设计验收测试用例。我们可以对概要设计中的测试用例进行细化,根据不同的测试环境、测试数据以及测试结果,编写更详细的测试用例。另外,可以结合几个用例,完成一个复杂的测试操作。

由于敏捷开发的流程是不断迭代的过程,所以很多复杂的功能可能会在未来的Sprint 周期中被优化。对测试人员而言,一个有效的方法是尽量将一些验证基本功能的测试用例作为基本验证测试用例(Basic Verification Test Case)在第一时间实现自动化;而对一些复杂的功能测试用例,可以先采用手工的方法测试,直到在未来Sprint 周期中该功能达到稳定时候再考虑自动化。此外,对测试中出现的缺陷可以设计回归测试用例(Regression Test Case),

为其编写自动测试代码,使得此类问题在发布周期(Release Sprint)时可以顺利而高效得进行验证。

项目实例:

基本验证测试用例:

动作数据期待的结果

登录用户名:(空)

密码:(空)

“用户名和密码无效”

功能测试用例:

数据期待的结果

登录正确的用户名和密

进入系统:请输入搜索条件并点击“搜索”

按钮

错误的类型提示正确的类型

使用正确的类型商户列表

3.3.4 编写验收测试用例

敏捷开发不提倡撰写太多的文档,提倡直接编写测试用例。此外,测试人员和客户应取得良好的沟通,将这些需求总结下来,转化成验收测试用例。如果资源充足,最好对验收测试用例建立版本控制机制。

考虑到需求在每一轮Sprint 周期中会不断得变化,测试团队要控制测试的自动化率,正确估计未来功能的增减。自动化率过高会导致后期大量测试代码需要重构,反而增加很多工作量。

3.4 Sprint 结束和下一个Sprint 开始

在一个Sprint 周期结束时,团队要举行一个回顾会议(Retrospective Meeting)。团队成员可以在会议上畅所欲言,指出在过去一个Sprint 周期中可行的,不可行的和有待改进的地方。待改进之处将在项目经理监督下于未来的Sprint 周期中实现。

由于敏捷开发倡导增量开发,当新的Sprint 开始时,测试团队需要根据新Sprint 周期的开发进度及时重构验收测试。如果新Sprint 周期没有具体的新功能开发,测试团队可以将精力集中在执行验收测试和寻找缺陷上。

如果下一个Sprint 周期是发布周期,那么测试人员需要准备执行回归测试。下面我们来详细了解每个测试活动。

3.4.1 重构验收测试

正如上文所提及,敏捷开发是以迭代方式进行的,功能在每次迭代中推陈出新。于是,验收测试用例经常需要修改或者添加,相应的验收测试代码也需要删减。这部分工作如果时间花销很大,最好在估算的时候一并提出。

项目实例:

在下一个Sprint 周期中,我们需要实现之前没有实现的“模糊查找”功能。测试人员要在新的Sprint 周期中更新原来的验收测试用例,在测试“搜索”模块中添加模糊查找测试。重新估算的测试任务参加下表:

任务估计时间

设计测试用例,准备测试数据(模糊搜索数据集) 2

加载数据集 1

编写自动测试代码 3

执行测试和汇报结果 2

总结8

3.4.2 执行验收测试

验收测试可以分为两大类,基本验证测试和功能测试。如果是基本验证测试,推荐开发人员在运行完单元测试和提交代码前直接运行自动测试脚本。如果是功能测试,可以在每个Sprint 后期,新功能代码提交后,由测试人员单独执行。

敏捷开发的开发和测试是相辅相成的。一旦基本验证测试出现问题,那就说明开发人员的实现违反了最初客户定义的需求,所以不能够提交。如果功能测试出现问题,那么测试人员要及时与开发人员沟通。如果是缺陷,需及时上报给项目经理,并在每天站立会议中提出;如果不是,那么继续下一项任务。这个过程充分体现了敏捷开发所提倡的团队交流机制。

3.4.3 执行回归测试

在发布周期中,测试人员所肩负的任务非常重要,因为这是产品发布前的最后质量检验。

首先,要建立一套自动生成build、运行自动测试代码、手工执行测试用例并汇总测试结果的框架。估算方法参加上文。

其次,定期执行各类测试,包括功能和系统测试。

最后,要整理之前在每个特征测试周期中出现的问题。如果已经整理并归类为回归测试用例,那么只要定时执行就可以了;否则,需一一添加。如果用例已经被自动化,可以直接运行;如果是手工测试,测试人员需要按照测试用例进行操作,最后汇总测试结果。这部分测试就是所谓的回归测试。

总结

以上我们回顾了敏捷测试在整个项目开发中的基本流程。详细介绍了各阶段存在的主要测试活动,结合实际项目,叙述每个测试活动的最佳实践。

最后,我们来探讨一下测试中的两个问题:手工测试和测试报告。

手工测试和自动测试是两个主要的测试类型。考虑到敏捷开发的高效性,自动测试会优于手工测试。手工测试有两个主要的缺点:不可靠和容易被遗忘。比如,在文中的搜索实例中,一旦我们重新建立索引,那么先前在搜索文本中出现的文字错误就无法重现。另外,当测试人员按部就班得手工完成一个一个测试用例时,他们很容易遗忘一些特殊的测试用例,很多缺陷因此而被埋没。敏捷测试主张一些基本的验收测试可以被自动化;对一些涉及系统方面的测试,手工测试比较适合。

测试报告是反映一个测试团队工作的最好成果。为适应敏捷开发的节奏,测试报告可以以网页的形式发布在内部的web 服务器上,在一些问题区域上标注鲜明的色彩,用来警示团队中的每个人。

综上所述,本文详细谈论了敏捷开发中测试的各项任务。希望本文有助于正在使用敏捷模式或者打算使用敏捷模式的团队更好得理解敏捷测试。

参考资料

?阅读Wikipedia 上有关敏捷软件开发的讨论。

?“Agile Software Development with Scrum”(Ken Schwaber and Mike Beedle,2002 年)讨论了如何使用SCRUM 来快速得实现极限编程,同时生产出高质量的软件产品。

?“Testing Extreme Programming”(Lisa Crispin and Tip House,2003 年)讨论了极限编程中是测试人员的角色,地位;然后,详细叙述了在极限编程周期中的各个测试

任务。

?访问IBM developerWorks 中国网站Rational 专区,获得关于IBM Rational 软件交付平台(Rational Software Delivery Platform)产品的技术资源和最佳实践。

?订阅Rational Edge 中文版,获取软件开发领域的最佳实践。

?订阅IBM developerWorks 时事通讯,一份关于developerWorks 指南、文章、下载、社区活动、网络广播和技术讲座的电子周刊。

?学习Hello World 系列教程,这是学习IBM 软件工具的快速通道。在每一篇教程中,都会有快速入门产品演示动画。您可以通过其中的动画演示快速浏览如何使用

IBM 软件完成开发任务。

获得产品和技术

?访问IBM Rational 软件交付平台V7 专题,了解Rational V7 产品的方方面面。

?获取免费的Rational 软件工具包系列,了解最新的IBM Rational 软件开发工具技术文档和资源。

?下载免费的IBM Rational 试用版软件,了解IBM Rational 软件的最新特性。

?获取更多IBM 试用版软件,并熟练掌握来自DB2?、Lotus?、Tivoli?,以及WebSphere? 的开发工具和中间件产品,用这些试用版软件开发您的下一个项目。

这些试用版软件可以免费直接从developerWorks 下载。

讨论

?参加Rational 大学,与IBM Rational 专家一起分享Rational 产品最佳实践。

?查看developerWorks 博客并加入developerWorks 社区。

材料物理性能及材料测试方法大纲、重难点

《材料物理性能》教学大纲 教学内容: 绪论(1 学时) 《材料物理性能》课程的性质,任务和内容,以及在材料科学与工程技术中的作用. 基本要求: 了解本课程的学习内容,性质和作用. 第一章无机材料的受力形变(3 学时) 1. 应力,应变的基本概念 2. 塑性变形塑性变形的基本理论滑移 3. 高温蠕变高温蠕变的基本概念高温蠕 变的三种理论 第二章基本要求: 了解:应力,应变的基本概念,塑性变形的基本概念,高温蠕变的基本概念. 熟悉:掌握广义的虎克定律,塑性变形的微观机理,滑移的基本形态及与能量的关系.高温蠕变的原因及其基本理论. 重点: 滑移的基本形态,滑移面与材料性能的关系,高温蠕变的基本理论. 难点: 广义的虎克定律,塑性变形的基本理论. 第二章无机材料的脆性断裂与强度(6 学时) 1.理论结合强度理论结合强度的基本概念及其计算 2.实际结合强度实际结合强度的基本概念 3. 理论结合强度与实际结合强度的差别及产生的原因位错的基本概念,位错的运动裂纹的扩展及扩展的基本理论 4.Griffith 微裂纹理论 Griffith 微裂纹理论的基本概 念及基本理论,裂纹扩展的条件 基本要求: 了解:理论结合强度的基本概念及其计算;实际结合强度的基本概念;位错的基本概念,位错的运动;裂纹的扩展及扩展的基本理论;Griffith 微裂纹理论的基本概念及基本理论,裂纹扩展的条件熟悉:理论结合强度和实际结合强度的基本概念;位错的基本概念,位错的运动;裂纹的扩展及扩展的基本理论;Griffith 微裂纹理论的基本概念及基本理论,裂纹扩展的条件. 重点: 裂纹的扩展及扩展的基本理论;Griffith 微裂纹理论的基本概念及基本理论,裂纹扩展的条件难点: Griffith 微裂纹理论的 基本概念及基本理论 第三章无机材料的热学性能(7 学时) 1. 晶体的点阵振动一维单原子及双原子的振动的基本理论 2. 热容热容的基本概念热容的经验定律和经典理论热容的爱因斯坦模型热容的德拜模型 3.热膨胀热膨胀的基本概念热膨胀的基

敏捷开发管理试题及答案

单选题: 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

web项目测试实战性能测试结果分析样章报告

5.4.2测试结果分析 LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要、并发数、平均事务响应时间、每秒点击数、业务成功率、系统资源、网页细分图、Web服务器资源、数据库服务器资源等几个方面分析,如图5- 1所示。性能测试结果分析的一个重要的原则是以性能测试的需求指标为导向。我们回顾一下本次性能测试的目的,正如错误!未找到引用源。所列的指标,本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU 使用率、内存使用率分别不超过75%、70%,那么按照所示的流程,我们开始分析,看看本次测试是否达到了预期的性能指标,其中又有哪些性能隐患,该如何解决。 图5- 1性能测试结果分析流程图 结果摘要 LoadRunner进行场景测试结果收集后,首先显示的该结果的一个摘要信息,如图5- 2所示。概要中列出了场景执行情况、“Statistics Summary(统计信息摘要)”、“Transaction Summary(事务摘要)”以及“HTTP Responses Summary(HTTP响应摘要)”等。以简要的信息列出本次测试结果。 图5- 2性能测试结果摘要图

场景执行情况 该部分给出了本次测试场景的名称、结果存放路径及场景的持续时间,如图5- 3所示。从该图我们知道,本次测试从15:58:40开始,到16:29:42结束,共历时31分2秒。与我们场景执行计划中设计的时间基本吻合。 图5- 3场景执行情况描述图 Statistics Summary(统计信息摘要) 该部分给出了场景执行结束后并发数、总吞吐量、平均每秒吞吐量、总请求数、平均每秒请求数的统计值,如图5- 4所示。从该图我们得知,本次测试运行的最大并发数为7,总吞吐量为842,037,409字节,平均每秒的吞吐量为451,979字节,总的请求数为211,974,平均每秒的请求为113.781,对于吞吐量,单位时间内吞吐量越大,说明服务器的处理能越好,而请求数仅表示客户端向服务器发出的请求数,与吞吐量一般是成正比关系。 图5- 4统计信息摘要图 Transaction Summary(事务摘要) 该部分给出了场景执行结束后相关Action的平均响应时间、通过率等情况,如图5- 5所示。从该图我们得到每个Action的平均响应时间与业务成功率。

金属的物理性能测试

金属的物理性能测试 金属材料的性能一般可分为使用性能和工艺性能两大类。使用性能是指材料在工作条件下所必须具备的性能,它包括物理性能、化学性能和力学性能。物理性能是指金属材料在各种物理条件任用下所表现出的性能。包括:密度、熔点、导热性、导电性、热膨胀性和磁性等。化学性能是指金属在室温或高温条件下抵抗外界介质化学侵蚀的能力。包括:耐蚀性和抗氧化性。力学性能是金属材料最主要的使用性能,所谓金属力学性能是指金属在力学作用下所显示与弹性和非弹性反应相关或涉及应力—应变关系的性能。它包括:强度、塑性、硬度、韧性及疲劳强度等。 1密度:密度就是某种物质单位体积的质量。 2热性能:熔点:金属材料固态转变为液态时的熔化温度。 比热容:单位质量的某种物质,在温度升高1℃时吸收的热量或温度降低1℃时所放出的热量。 热导率:在单位时间内,当沿着热流方向的单位长度上温度降低1℃时,单位面积容许导过的热量。 热胀系数:金属温度每升高1℃所增加的长度与原来长度的比值。 3电性能: 电阻率:是表示物体导电性能的一个参数。它等于1m长,横截面积为1mm2的导线两端间的电阻。也可用一个单位立方体的两平行端面间的电阻表示。 电阻温度系数:温度每升降1℃,材料电阻的改变量与原电阻率之比,称为电阻温度系数。 电导率:电阻率的倒数叫电导率。在数值上它等于导体维持单位电位梯度时,流过单位面积的电流。

4磁性能: 磁导率:是衡量磁性材料磁化难易程度的性能指标,它是磁性材料中的磁感应 强度(B)和磁场强度(H)的比值。磁性材料通常分为:软磁材料(μ值甚高,可达数万)和硬磁材料(μ值在1左右)两大类。 磁感应强度:在磁介质中的磁化过程,可以看作在原先的磁场强度(H)上再 加上一个由磁化强度(J)所决定的,数量等于4πJ的新磁场,因而在磁介质中的磁场B=H+4πJ的新磁场,叫做磁感应强度。 磁场强度:导体中通过电流,其周围就产生磁场。磁场对原磁矩或电流产生作 用力的大小为磁场强度的表征。 矫顽力:样品磁化到饱和后,由于有磁滞现象,欲使磁感应强度减为零,须施 加一定的负磁场Hc,Hc就称为矫顽力。 铁损:铁磁材料在动态磁化条件下,由于磁滞和涡流效应所消耗的能量。 其它如力学性能,工艺性能,使用性能等。

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

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

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

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

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

性能测试实战经典案例分享:一个你不知道的压力测试工具

在项目上线之前,都需要做,目的是看下我们的网站能抗住多少的压力,能承担多少并发,如果不做压力测试,一旦出现大访问量时,我们的网站会挂掉。 一、Webbench测试并发 Webbench是下的一个网站压力测试工具,能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每分钟相应请求数和每秒钟传输数据量。webbench最多可以模拟3万个并发连接去测试网站的负载能力。 测试的环境是 Linux Ubuntu 1、安装 1.1 安装ctags apt-get install exuberant-ctags ctags 为webbench的依赖 1.2 下载安装 官网:~cz210... root@corwien:~# wget ~cz210552/distfiles/webbench- root@corwien:~# tar zxvf webbench- root@corwien:~# cd webbench-1.5/ root@corwien:~/webbench-1.5# make root@corwien:~/webbench-1.5# make install root@corwien:~/webbench-1.5# webbench webbench [option]... URL -f|--force Don't wait for reply from . -r|--reload Send reload request - Pragma: no-cache. -t|--time Run benchmark for seconds. Default 30. -p|--proxy Use proxy server for request. -c|--clients Run HTTP clients at once. Default one. -9|--http09 Use HTTP/0.9 style requests. -1|--http10 Use HTTP/1.0 protocol. -2|--http11 Use HTTP/1.1 protocol. --get Use GET request method. --head Use HEAD request method. --options Use OPTIONS request method. --trace Use TRACE request method. -?|-h|--help This information. -V|--version Display program version. 2、测试

水泥物理性能检验方法

水泥物理性能检验方法 1、目的 根据国家标准检验水泥标准稠度用水量、凝结时间、安定性是否符合国家的标准要求。 2、检验范围 a)通用硅酸盐水泥; 3、引用国家标准 a)GBl75-2007 通用硅酸盐水泥 b)GB/Tl346-2011水泥标准稠度用水量、凝洁时间、安定性检验方法 c) GB/T1345-2005水泥细度检验方法 d) GB/T8074-2008比表面积测定方法 4、仪器设备 a)、标准稠度与凝结时间测定仪。 b),水泥净浆搅拌机(NJ-160) c)沸煮箱(FZ-3lA) d)雷氏夹 e)量筒(50ml,100m1) f)天平(DJ-10002 0.01g/1000g) g) 负压筛析仪(FSY-150G) 通用作业指导书文件代号HBYS/QC01— 2012

第2页共15页 主题:水泥物理性能检验方 法版次/修改1/0 发布日期:2012年2月18日 h) 所用仪器设备应保证经过相关部门的检定,且应检定合格达到相应的精度,并在有效期内使用。 5、人员和实验条件 检验人员应是通过省级或省级以上部门培训合格且取得相应上岗证书的技术人员,应了解本站的《质量手册》及相关程序文件的质量要求,能熟练操作检验仪器设备并能处理一般例外情况的发生。试验室的温度(20±2)℃相对温度大于50%;水泥试样,拌和水、仪器和用具温度应与试验一致;湿气养护箱温度为20℃±1℃,相 对湿度不低于90%。 6、样品 试验前应按照程序文件《样品收发管理制度》检查试验样品的来源、性质、规格等技术指标和处置程序是否符合国家的要求。若 不符合应退回样品登记室,联系委托方重新取样,若符合进入检验环节。 7、标准稠度用水量的测定:(标准法)GB/Tl346-2011 7.1标准稠度用水量用符合JC/T727按修改后维卡仪标尺刻度进行测定,此时仪器试棒下端应为空心试锥,装净浆

敏捷开发测试要求规范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 读者对象 本规范读者对象为软件开发项目管理者、项目经理、测试经理、开发经理、开发组、测

性能测试分析报告案例

***系统性能测试报告 V1.0 撰稿人:******* 时间:2011-01-06

目录 1.测试系统名称及测试目标参考 (3) 2.测试环境 (3) 3.场景设计 (3) 3.1测试场景 (3) 3.1测试工具 (4) 4.测试结果 (4) 4.1登录 (4) 4.2发送公文 (6) 4.3收文登记 (8)

1.测试系统名称及测试目标参考 被测系统名称:*******系统 系统响应时间判断原则(2-5-10原则)如下: 1)系统业务响应时间小于2秒,用户对系统感觉很好; 2)系统业务响应时间在2-5秒之间,用户对系统感觉一般; 3)系统业务响应时间在5-10秒之间,用户对系统勉强接受; 4)系统业务响应时间超过10秒,用户无法接受系统的响应速度。 2.测试环境 网络环境:公司内部局域网,与服务器的连接速率为100M,与客户端的连接速率为10/100M 硬件配置: 3.场景设计 3.1测试场景 间

间 间 3.1测试工具 ●测试工具:HP LoadRunner9.0 ●网络协议:HTTP/HTTPS协议 4.测试结果 4.1登录 ●运行1小时后实际登录系统用户数,用户登录后不退出,一直属于在线状态,最 终登录的用户达到9984个;

●响应时间 ●系统资源

服务器的系统资源表现良好(CPU使用率为14%,有15%的物理内存值)。磁盘等其他指标都表现正常,在现有服务器的基础上可以满足9984个在线用户。 4.2发送公文 运行时间为50分钟,100秒后300个用户全部加载成功,300个用户开始同时进行发文,50分钟后,成功发文数量如下图所示,成功发文17792个,发文失败37 个;

环氧树脂胶的物理特性及测试方法

环氧树脂胶的物理特性及测试方法 1. 粘度 粘度为流体(液体或气体)在流动中所产生的内部磨擦阻力,其大小由物质种类、温度、浓度等因素决定。按GB2794-81《胶粘剂测定法(旋转粘度计法)》之规定,采用NOJ-79型旋转粘度计进行测定。其测试方法如下:先将恒温水浴加热到40℃,打开循环水加热粘度计夹套至40℃,确认40℃恒温后将搅拌均匀的A+B混合料倒入粘度计筒中(选取中筒转子)进行测定。 2. 密度 密度是指物质单位体积内所含的质量,简言之是质量与体积之比。按GB4472之规定采用比重瓶测定。相对密度又称比重,比重为某一体积的固体或液体在一定温度下的质量与相同体积在相同温度下水的质量之比值。测试方法: 用分析天平称取清洁干净的比重瓶的重量精确到0.001g,称量数为m1,将搅拌均匀的混合料小心倒入(或抽入)比重瓶内,倒入量至刻度线后,用分析天平称其重量,精确到0.001g,称量数为m2。 密度g/ml=(m2- m1)/V (V:比重瓶的ml数) 3. 沉淀试验:80℃/6h<1mm 测试方法:用500ml烧杯取0.8kgA料放入恒温80℃热古风干燥箱内烘6小时,观其沉淀量。 4. 可操作时间(可使用时间)测定方法: 取35g搅拌均匀的混合料,测其40℃时的粘度(方法同1粘度的测定)记录粘度值、温度时间、间隔0.5小时后,再进行测试。依次反复测若干次观其粘度变化情况。测试时料筒必须恒温40℃,达到起始粘度值一倍的时间,即为可操作时间(可使用时间)。 5. 凝胶时间的测定方法: 采用HG-1A凝胶时间测定仪进行测定。取1g左右的均匀混合料,使其均匀分布在预先加热到150±1℃的不锈钢板中心园槽中开动秒表,同时用不锈钢小勺不断搅拌,搅拌时要保持料在圆槽内,小勺顺时针方向搅拌,直到不成丝时记录时间,即为树脂的凝胶时间,测定两次,两次测定之差不超过5秒,取其平均值。 6. 热变形温度

实例详解敏捷测试实践

实例详解敏捷测试 第一部分:敏捷软件开发简介 敏捷软件开发(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。

性能测试计划模板(实例)

XXXX系统 性能测试方案 软件产品名称:XXXX 软件开发部门:XXXX 软件测试部门:XXXX 编写:XXX 日期:2008 年11 月8 日审核:XXX 日期:2008 年11 月10 日批准:日期:年月日

1.引言 1.1测试方案概述 方案名称:xxxx系统性能测试方案 测试部门:xxxxxxxx科技发展有限公司 1.2目的 本测试方案将对国美电器供应链系统的测试方法、测试工具、测试范围、测试的软件硬件环境、测试进度、测试人员的分工和职责以及测试流程进行详细的定义和整体的描述。 1.3系统概述 产品名称: xx供应链系统JL SCM 开发部门: xxxx有限公司 在企业的信息化建设中,北京国美电器有限公司将在全国范围内实施“金力供应链系统JL SCM”,该系统中采用了 Sybase 最新版本的企业智能型关系数据库产品Adaptive Server Enterprise 12.5 (ASE12.5)及复制服务器产品Sybase Replication Server,由武汉金力软件有限公司开发并协助实施。国美电器实施的“金力供应链系统JL SCM”,从现代企业理念、物流体系和全方位服务的角度,完全解决了企业的决策、计划、管理、核算、经营、物流、服务、人事及电子商务等问题。 2.术语和定义 性能测试:在一定约束条件下(指定的软件、硬件和网络环境等)确定系统

所能承受的最大负载压力的测试过程。 场景:一种文件,用于根据性能要求定义在每一个测试会话运行期间发生的事件。 虚拟用户:在场景中, LoadRunner 用虚拟用户代替实际用户。模拟实际用户的操作来使用应用程序。一个场景可以包含几十、几百甚至几千个虚拟用户。 虚拟用户脚本:用于描述虚拟用户在场景中执行的操作。 事务:表示要度量的最终用户业务流程。 3.测试流程 负载测试通常由五个阶段组成:计划、脚本创建、场景定义、场景执行和结果分析。 计划负载测试:定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间。 创建虚拟用户脚本:将最终用户活动捕获到自动脚本中。 定义场景:使用 LoadRunner Controller 设置负载测试环境。 运行场景:通过 LoadRunner Controller 驱动、管理和监控负载测试。 分析结果:使用 LoadRunner Analysis 创建图和报告并评估性能。 4.测试目标与策略 4.1测试目标 1)确定系统能承载的最大容量; 2)定位系统性能瓶颈; 3)确定系统典型事务响应时间; 4)出具可信的独立的第三方的性能测试报告。

橡胶物理性能测试标准

1.未硫化橡胶门尼粘度 GB/T 1232.1—2000未硫化橡胶用圆盘剪切粘度计进行测定—第1部分:门尼粘度的测定 GB/T 1233—1992橡胶胶料初期硫化特性的测定—门尼粘度计法 ISO 289-1:2005未硫化橡胶——用剪切圆盘型黏度计—第一部分:门尼黏度的测定 ISO 289-2-1994未硫化橡胶——用剪切圆盘型黏度计测定—第二部分:预硫化特性的测定ASTM D1646-2004橡胶粘度应力松驰及硫化特性(门尼粘度计)的试验方法 JIS K6300-1:2001未硫化橡胶-物理特性-第1部分:用门尼粘度计测定粘度及预硫化时间的方法2.胶料硫化特性 GB/T 9869—1997橡胶胶料硫化特性的测定(圆盘振荡硫化仪法) GB/T 16584—1996橡胶用无转子硫化仪测定硫化特性 ISO 3417:1991橡胶—硫化特性的测定——用摆振式圆盘硫化计 ASTM D2084-2001用振动圆盘硫化计测定橡胶硫化特性的试验方法 ASTM D5289-1995(2001) 橡胶性能—使用无转子流变仪测量硫化作用的试验方法 DIN 53529-4:1991橡胶—硫化特性的测定——用带转子的硫化计测定交联特性 3.橡胶拉伸性能 GB/T528—1998硫化橡胶或热塑性橡胶拉伸应力应变性能的测定 ISO37:2005硫化或热塑性橡胶——拉伸应力应变特性的测定 ASTMD412-1998(2002)硫化橡胶、热塑性弹性材料拉伸强度试验方法 JIS K6251:1993硫化橡胶的拉伸试验方法 DIN 53504-1994硫化橡胶的拉伸试验方法 4.橡胶撕裂性能 GB/T 529—1999硫化橡胶或热塑性橡胶撕裂强度的测定(裤形、直角形和新月形试样)

敏捷开发测试规范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 敏捷测试流程

性能测试报告实战

phpwind系统性能测试报告

目录 1计划概述 (3) 2参考资料 (3) 3术语解释 (3) 4系统简介 (3) 5测试环境 (3) 6测试指标 (4) 7测试工具和测试策略 (4) 8测试数据收集 (4) 9测试结果数据以及截图 (4) 10 测试结论 (9)

1计划概述 目的:找出系统潜在的性能缺陷 目标:从安全,可靠,稳定的角度出发,找出性能缺陷,并且找出系统最佳承受并发用户数,以及并发用户数下长时间运行的负载情况,如要并发100用户,如何对系统进行调优 概述:本次测试计划主要收集分析数据库处理并发请求相关数据,做出分析和调优 测试时间:2018年02月11日*点*分-*点*分 2参考资料 相关性能测试资料 3术语解释 性能测试 英文解释:Performance testing 概念解释:运行性能测试确定系统处理能力,来判断系统是否需要优化 负载测试 英文解释:Load testing 概念解释:通过系统面临多资源运行或被攻击情况下进行测试 4系统简介 数据库服务器,支持整个系统对数据的存储过程 5测试环境

6测试指标 测试时间:*年*月*日—*年*月*日 测试范围:数据库处理服务器或客户端请求信息(插入,查询,更新,删除)语句时,服务器各项性能指标的性能测试 Jmeter指标:(由于Apache旗下性能测试工具Jmeter收集的性能指标偏少,下面的数据选取代表性指标)1.Average/ms:服务器处理事物平均响应时间(表示客户端请求到服务器处理信息且反馈客户端的时间) 2.Throughput/s:服务器每秒处理请求数(表示服务器每秒处理客户端请求数(单位:个/秒))3.KB/s:服务器每秒接受到的数据流量(表示服务器每秒接受到客户端请求的数据量KB表示)硬件指标: 1.%Processor time :CUP使用率(平均低于75%,低于50%更佳) 2.System:Processor Queue Length :CUP队列中的线程数(每个处理器平均低于2) 3.Memory:Pages/sec :内存错误页数(平均低于20,低于15更佳) 4.Physical Disk-%Disk Time:磁盘使用率(平均低于50%) 5.SQL Server:Buffer Manager-Buffer Cache Hit Ratio:(在缓冲区告诉缓存中找到而不需要从磁盘中读取的页的百分比,正常情况次比率超过90%,理想状态接近99%) 7测试工具和测试策略 ?测试工具:Apache-Jmeter3.0.1 ?测试策略:根据公司内部实际情况,以及业务分布设置数据库访问量即并发用户数 ?测试数据:因为涉及公司内部数据不便外泄,敬请见谅! ?数据说明:选取数据均为代表性数据,包括存储过程以及查询,更新,删除,插入 8测试数据收集 收集多轮测试的结果进行对比,绘制成几何增长图形,找出压力转折点 9测试结果数据以及截图 前提条件:用户数为25个用户数时,各项指标均下降,所以最佳用户定在20个

敏捷开发测试要求规范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 敏捷测试流程

性能测试案例分析

1.简要场景描述: 被测项目的数据库服务采用ORACLE 10g,测试功能点选择的是一个新建录入保存业务。当并发20用户时,数据库资源占用正常,处理业务响应时间正常,当并发40用户时,数据库服务器CPU占用率突增到100%,系统几乎不响应。 2.对ORACLE 10g进行监控: 2.1首先打开监控开关: exec dbms_monitor.serv_mod_act_trace_enable (service_name=>''); 在oracle安装目录\product\10.2.0\admin\gsp\udump目录下每个session形成.trc文件。 2.2通过tkprof进行分析: 根据日期选择相应的.trc文件,在命令行下通过tkprof进行分析: tkprof servname_ora_2336.trc utput=servname_ora_2336.txt SORT=(EXEELA, PRSELA, FCHELA) 形成结果文件servname_ora_2336.txt。 2.3查看分析结果文件: 发现存在大量的建临时表语句,耗用了大量的CPU资源,而且花费的时间很长。 create table myHelp4879f036d (Rowp int PRIMARY KEY,OID varchar(1000),Code varchar(1000),Name varchar(1026),ZJM varchar(100),Path varchar(40)) call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 0 0.00 0.00 0 0 0 0 Execute 1 19.06 196.34 24 751455 1552 0 Fetch 0 0.00 0.00 0 0 0 0 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 1 19.06 196.34 24 751455 1552 0

深圳大学物理化学实验报告--实验一 恒温水浴的组装及其性能测试--赖凯涛、张志诚示范文本

深圳大学物理化学实验报告--实验一恒温水浴的组装及其性能测试--赖凯 After completing the work or task, record the overall process and results, including the overall situation, progress and achievements, and summarize the existing problems and future corresponding strategies. 某某管理中心 XX年XX月

深圳大学物理化学实验报告--实验一恒温水浴的组装及其性能测试--赖凯 涛、张志诚示范文本 使用指引:此报告资料应用在完成工作或任务后,对整体过程以及结果进行记录,内容包含整体情况,进度和所取得的的成果,并总结存在的问题,未来的对应策略与解决方案。,文档经过下载可进行自定义修改,请根据实际需求进行调整与使用。 深圳大学物理化学实验报告 实验者: 赖凯涛、张志诚实验时间: 2000/4/3 气温: 21.6 ℃大气压: 101.2 kpa 实验一恒温水浴的组装及其性能测试 目的要求了解恒温水浴的构造及其构造原理,学会恒 温水浴的装配技术;测绘恒温水浴的灵敏度曲线;掌握 贝克曼温度计的调节技术和正确使用方法。仪器与试剂5 升大烧杯贝克曼温度计精密温度计加热器 水银接触温度计继电器搅拌器调压变压器 实验步骤3.1 实验器材,将水银开关、搅拌器等安装

固定。按电路图接线并检查。 3.2 大烧杯中注入蒸馏水。调节水银开关至30℃左右,随即旋紧锁定螺丝。调调压变压器至220v,开动搅拌器(中速),接通继电器电源和加热电源,此时继电器白灯亮,说明烧杯中的水温尚未达到预设的30℃。一段时间后,白灯熄灭,说明水温已达30℃,继电器自动切断了加热电源。 调节贝克曼温度计,使其在30℃水浴中的读数约为2℃。安装好贝克曼温度计。关闭搅拌器。每1分钟记录一次贝克曼温度计的读数,一共记录12个。开动搅拌器,稳定2分钟后再每1分钟记录一次贝克曼温度计的读数,一共记录12个。将调压变压器调至150v(降低发热器的发热功率),稳定5分钟,后再每2分钟记录一次贝克曼温度计的读数,一共记录10个。实验完毕,将贝克曼温度计放回保护盒中,调调压变压器至0v。关闭各仪器电源并

敏捷开发的实战经验总结

敏捷开发的6个实战经验 作者Ulf Eriksson 摘要:Ulf Eriksson根据自己多年的敏捷开发经历,总结了6个实施敏捷开发的技巧:快速迭代、让测试人员和开发者参与需求讨论、编写可测试的需求 文档、多沟通&尽量减少文档、做好产品原型、及早考虑测试等。 在大型企业中经常是各种软件开发模式混用,一些采用敏捷开发,一些则是采用传统的瀑布式或RUP(统一软件开发过程)。敏捷开发,相对传统软件开发模式,它主要是针对快速变化的需求,不断优化管理流程,最终推出优质软件。 作者是一家在线问题跟踪软件公司的创始人之一,他是敏捷开发的忠实粉丝,已经进行了多年敏捷开发的实践。下面内容主要是作者根据自己多年经历进行的经验总结。 1. 快速迭代 相对那种半年一次的大版本发布来说,小版本的需求、开发和测试更加简单快速。一些公司,一年仅发布仅2~3个版本,发布流程缓慢,它们仍采用瀑布开发模式,更严重的是对敏捷开发模式存在误解。 由一年发布2个版本转到一个月发布2个版本,这也不太可能。但是现在来看,快速迭代已经成为事实标准,关键是要比目前的版本发布速度更快一些。 快速迭代,可以逼迫团队不断优化流程、提升工作效率,不要在无足轻重的事情上浪费时间。如果离deadline还有6个月,那么整个工作节奏必然悠哉。如果每月发布一个版本,那么较以前效率必然会更高。如果发布周期过长,导致无法尽快发现用户需求,进而无法及时改进产品。 2. 让测试人员和开发者参与需求讨论 需求讨论以研讨组的形式展开最有效率。研讨组,需要包括测试人员和开发者,这样可以更加轻松定义可测试的需求,将需求分组并确定优先级。 同时,该种方式也可以充分利用团队成员间的互补特性。如此确定的需求往往比开需求讨论大会的形式效率更高,大家更活跃,参与感更强。 确定需求时,不要过度盯在细节上。需求报告过于详细,就是一种不敏捷的习惯,还浪费大家的时间。当然,不能错过好点子,但就是不要太细,因为项目真正实施起来时需求将会产生很大的变动。 3. 编写可测试的需求文档 开始就要用“用户故事”(User Story)的方法来编写需求文档。这种方法,可以让我们将注意力放在需求上,而不是解决方法和实施技术上。过早的提及技术实施方案,会降低对需求的注意力。

web项目测试实战性能测试结果分析样章

w e b项目测试实战性能测试结果分析样章 Last revision on 21 December 2020

LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要、并发数、平均事务响应时间、每秒点击数、业务成功率、系统资源、网页细分图、Web服务器资源、数据库服务器资源等几个方面分析,如所示。性能测试结果分析的一个重要的原则是以性能测试的需求指标为导向。我们回顾一下本次性能测试的目的,正如所列的指标,本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU使用率、内存使用率分别不超过75%、70%,那么按照所示的流程,我们开始分析,看看本次测试是否达到了预期的性能指标,其中又有哪些性能隐患,该如何解决。 图5- 1性能测试结果分析流程图 结果摘要 LoadRunner进行场景测试结果收集后,首先显示的该结果的一个摘要信息,如所示。概要中列出了场景执行情况、“Statistics Summary(统计信息摘要)”、“Transaction Summary(事务摘要)”以及“HTTP Responses Summary(HTTP响应摘要)”等。以简要的信息列出本次测试结果。 图5- 2性能测试结果摘要图 场景执行情况 该部分给出了本次测试场景的名称、结果存放路径及场景的持续时间,如所示。从该图我们知道,本次测试从15:58:40开始,到16:29:42结束,共历时31分2秒。与我们场景执行计划中设计的时间基本吻合。 图5- 3场景执行情况描述图

Statistics Summary(统计信息摘要) 该部分给出了场景执行结束后并发数、总吞吐量、平均每秒吞吐量、总请求数、平均每秒请求数的统计值,如所示。从该图我们得知,本次测试运行的最大并发数为7,总吞吐量为842,037,409字节,平均每秒的吞吐量为451,979字节,总的请求数为211,974,平均每秒的请求为,对于吞吐量,单位时间内吞吐量越大,说明服务器的处理能越好,而请求数仅表示客户端向服务器发出的请求数,与吞吐量一般是成正比关系。 图5- 4统计信息摘要图 Transaction Summary(事务摘要) 该部分给出了场景执行结束后相关Action的平均响应时间、通过率等情况,如所示。从该图我们得到每个Action的平均响应时间与业务成功率。 图5- 5事务摘要图 HTTP Responses Summary(HTTP响应摘要) 该部分显示在场景执行过程中,每次HTTP请求发出去的状态,是成功还是失败,都在这里体现,如所示。从图中可以看到,在本次测试过程中LoadRunner 共模拟发出了211974次请求(与“统计信息摘要”中的“Total Hits”一致),其中“HTTP 200”的是209811次,而“HTTP 404”则有2163,说明在本次过程中,经过发出的请求大部分都能正确响应了,但还是有部分失败了,但未影响测试结果,“HTTP 200”表示请求被正确响应,而“HTTP 404”表示文件或者目录未能找到。有朋友可能会问,这里出现了404的错误,为什么结果还都通

相关文档
最新文档