软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf ·...

18
1 http://www.51testing.com 软件测试网 软件开发测试基本流程 软件开发测试基本流程 培训教材 2 http://www.51testing.com 软件测试网 课程内容 课程内容 国内软件测试现状以及存在的问题 软件开发测试基本流程 软件测试的误区和最佳实践方法

Transcript of 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf ·...

Page 1: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

1

http://www.51testing.com

软件测试网

软件开发测试基本流程软件开发测试基本流程培训教材

2http://www.51testing.com

软件测试网课程内容课程内容

• 国内软件测试现状以及存在的问题

• 软件开发测试基本流程

• 软件测试的误区和最佳实践方法

Page 2: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

2

3http://www.51testing.com

软件测试网软件测试所在的几大行业软件测试所在的几大行业

• 金融行业:证券、期货、保险、银行、……

• 电信行业:电信设备制造商、电信运营商、内容提供商、手机终端、……

• 其他行业:软件测试外包、工业自动化、电子类消费产品、电力、交通、军工产品 ……

4http://www.51testing.com

软件测试网软件测试普遍存在的问题软件测试普遍存在的问题

• 管理层面:

– 公司高层对软件测试的重视程度不够– 软件公司的测试管理流程不够完善– 软件测试人员的投入不足,人员素质参差不齐

• 技术层面:

– 软件开发文档缺乏,无法开展有效的测试用例设计– 缺少软件可测试性的设计– 软件测试用例设计的不够充分– 软件测试自动化水平偏低

• 其他:

– 开发人员的软件质量意识不足– 用户对软件质量的认识不足和对软件价值的不认同– 软件测试人才的培养渠道不畅

Page 3: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

3

5http://www.51testing.com

软件测试网课程内容课程内容

• 国内软件测试现状以及存在的问题

• 软件测试工作与软件测试工程师的素质要求

• 软件测试的误区和最佳实践方法

6http://www.51testing.com

软件测试网软件质量的铁三角软件质量的铁三角

People

Process Technology

ProductQuality & Productivity

Page 4: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

4

7http://www.51testing.com

软件测试网软件开发测试基本过程软件开发测试基本过程

8http://www.51testing.com

软件测试网产品开发测试基本过程产品开发测试基本过程

客户需求

产品包需求

软件设计需求

软件设计规格 SRS HLD LLD

ST IT UT

产品测试规格 …… 测试用例

硬件设计需求 ⋯⋯⋯

Page 5: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

5

9http://www.51testing.com

软件测试网常见的软件开发过程常见的软件开发过程

客户 开发者

“给我完成一个系统!” 发生一些神秘的事情 完成

10http://www.51testing.com

软件测试网需求分析阶段需求分析阶段

• 软件需求的检视、评审

• 系统测试计划、方案设计

• 系统测试计划、方案的检视和评审

• 软件系统测试用例设计

• 软件系统测试用例的检视和评审

Page 6: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

6

11http://www.51testing.com

软件测试网软件需求规格举例软件需求规格举例

12http://www.51testing.com

软件测试网需求阶段的角色和职责(需求阶段的角色和职责(11))

A、带领项目分析业务需求B、带领项目组完成软件需求规格说明书

A、撰写软件需求规格说明书B、参加软件需求规格说明书的评审C、根据评审意见,修改软件需求规格说明书

软件开发项目经理

软件开发工程师

Page 7: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

7

13http://www.51testing.com

软件测试网需求阶段的角色和职责(需求阶段的角色和职责(22))

AA、、参与开发人员的软件需求分析,提出可测试性需求

B、组织人员参与软件需求规格的评审工作

C、组织软件系统测试计划写作

D、组织软件系统测试方案写作

AA、参与软件需求规格的评审工作

B、协助软件测试项目经理完成软件系统测试计划写作

C、协助软件测试经理完成软件系统测试方案写作

软件测试工程师

软件测试项目经理

14http://www.51testing.com

软件测试网软件系统测试设计的技能要求软件系统测试设计的技能要求

• 软件开发相关

– 软件需求的相关知识

– 可视化建模/UML相关知识

• 软件测试技术相关

– 软件系统测试方案的设计

– 软件系统测试用例设计

– 产品质量属性相关知识

• 软件测试管理相关

– 软件测试的项目管理

– 沟通能力

– 执行能力

• 产品业务知识

– 通讯的原理

– 财会知识

– 金融产品知识

– ……

Page 8: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

8

15http://www.51testing.com

软件测试网概要设计阶段概要设计阶段

• 软件概要设计的检视、评审

• 软件集成测试计划、方案设计

• 软件集成测试计划、方案的检视和评审

• 软件集成测试用例设计

• 软件集成测试用例的检视和评审

16http://www.51testing.com

软件测试网概要设计子系统概要设计子系统//模块示例模块示例

客户端程序

发送文字

发送文字确认

握手消息应答

服务器端

发送握手消息

文字聊天消息接口模块

消息保存模块

服务器鉴权模块

数据库接口 数据库

操作维护模块操作维护接口

Page 9: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

9

17http://www.51testing.com

软件测试网UMLUML的类图的类图

学校

必修课 选修课

学生

*

1..*

*1

课程

**

*

1..*

教师

1..*

1..*

0..1

0..1

1..**

有成员

*

1..**1

1..*

1..*有成员

参加

**

开设

*

1..*

+系主任0..1

0..1

教课 1..**ISecureData

getUniqueId()

<<Inter fac e>>

ISecureUser

setAccess()getAccess()getUserId()new()

<<Interface>>

UniqueId

generate()as String()UniqueId()

SecurityAccessCanRead : BooleanC anW ri te : Boo leanC anD el ete : Boo lean

is Readable()is Wri teable()is Deleteable()m akeReadable()m akeW ri te able()m akeDel ete able()new()

18http://www.51testing.com

软件测试网软件集成测试设计的技能要求软件集成测试设计的技能要求

• 软件开发相关

– 软件架构设计的相关知识– 可视化建模/UML相关知识

• 软件测试技术相关

– 软件集成测试方案的设计– 软件集成测试用例设计

• 软件测试管理相关

– 软件测试的项目管理– 沟通能力– 执行能力

Page 10: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

10

19http://www.51testing.com

软件测试网概要设计阶段的角色和职责(概要设计阶段的角色和职责(11))

A、在项目计划中标识设计活动并确保有足够的资源B、从项目成员中标识出概要设计人员,负责设计工作C、确保设计人员按照本流程开发相应的设计说明书D、确保按照评审规程进行设计的评审

A、完成概要设计和接口文档B、参加设计文档评审D、根据评审专家意见,修改设计文档

软件开发项目经理

软件开发工程师

20http://www.51testing.com

软件测试网概要设计阶段的角色和职责(概要设计阶段的角色和职责(22))

A、组织所有的测试活动B、制定测试策略C、确保测试活动有合适的计划

A、撰写集成测试用例软件测试工程师

软件测试项目经理

Page 11: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

11

21http://www.51testing.com

软件测试网详细设计阶段详细设计阶段

• 软件详细设计的检视、评审

• 软件单元测试计划、方案设计

• 软件单元测试计划、方案的检视和评审

• 软件单元测试用例设计

• 软件单元测试用例的检视和评审

22http://www.51testing.com

软件测试网详细设计举例详细设计举例

Page 12: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

12

23http://www.51testing.com

软件测试网软件单元测试设计的技能要求软件单元测试设计的技能要求

• 软件开发相关

– 具有良好的编码能力– 软件详细设计的评审能力

• 软件测试技术相关

– 代码逻辑覆盖率的相关知识– 单元测试用例设计的相关知识

• 软件测试管理相关

– 软件测试的项目管理– 沟通能力– 执行能力

24http://www.51testing.com

软件测试网详细设计阶段的角色和职责(详细设计阶段的角色和职责(11))

A、在项目计划中标识设计活动并确保有足够的资源B、从项目成员中标识出设计人员,负责设计工作C、确保设计人员按照本流程开发相应的设计说明书D、确保按照评审规程进行设计的评审

A、完成设计文档B、参加设计文档评审D、根据评审专家意见,修改设计文档

软件开发项目经理

软件开发工程师

Page 13: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

13

25http://www.51testing.com

软件测试网详细设计阶段的角色和职责(详细设计阶段的角色和职责(44))

A、组织所有的测试活动B、制定测试策略C、确保测试活动有合适的计划

A、撰写单元测试用例软件测试工程师

软件测试项目经理

26http://www.51testing.com

软件测试网软件编码阶段软件编码阶段

• 软件代码静态检查

• 软件代码走读

Page 14: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

14

27http://www.51testing.com

软件测试网单元测试执行阶段单元测试执行阶段

• 软件单元测试用例执行

• 软件单元测试软件缺陷记录、跟踪

• 软件单元测试日报写作

• 软件单元测试报告写作

• 软件单元测试缺陷的回归测试

28http://www.51testing.com

软件测试网软件集成测试执行阶段软件集成测试执行阶段

• 软件集成测试用例执行

• 软件集成测试软件缺陷记录、跟踪

• 软件集成测试日报写作

• 软件集成测试报告写作

• 软件集成测试缺陷的回归测试

Page 15: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

15

29http://www.51testing.com

软件测试网软件单元、集成测试执行技能要求软件单元、集成测试执行技能要求

• 软件开发相关

– 具有良好的编码能力

• 软件测试技术相关

– 良好的单元、集成自动化测试框架能力

• 软件测试管理相关

– 软件测试的项目管理– 沟通能力– 执行能力

30http://www.51testing.com

软件测试网软件系统测试执行阶段软件系统测试执行阶段

• 软件系统测试用例执行

• 软件系统测试软件缺陷记录、跟踪

• 软件系统测试日报写作

• 软件系统测试报告写作

• 软件系统测试缺陷的回归测试

Page 16: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

16

31http://www.51testing.com

软件测试网软件系统测试执行的技能要求软件系统测试执行的技能要求

• 软件开发相关

– 软件需求的相关知识

– 可视化建模/UML相关知识

• 软件测试技术相关

– 软件自动化测试工具的应用能力

• 软件测试管理相关

– 软件测试的项目管理

– 沟通能力

– 执行能力

• 产品业务知识

– 通讯的原理

– 财会知识

– 金融产品知识

– ……

32http://www.51testing.com

软件测试网测试执行阶段开发人员的角色和职责测试执行阶段开发人员的角色和职责

A、确保缺陷分发给相关软件工程师并及时得到解决B、参与需求变更评审

A、修正缺陷B、验证相关的缺陷已经被修正

软件开发工程师

软件开发项目经理

Page 17: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

17

33http://www.51testing.com

软件测试网测试执行阶段测试人员的角色和职责测试执行阶段测试人员的角色和职责

A、组织所有的测试活动B、确保选择适合的测试工具以及测试环境的建立C、确保测试活动的计划得到执行和获得资源D、确保缺陷分发给相关软件工程师并及时得到解决E、审核并批准测试报告

A、搭建测试环境B、执行测试用例C、将测试中发现的所有缺陷填写在缺陷报告中D、回归测试E、准备测试报告

软件测试工程师

软件测试项目经理

34http://www.51testing.com

软件测试网软件开发测试工作量分布软件开发测试工作量分布

需求分析, 9.0%

详细设计, 21.6%

编码和单元测试,16.4%

集成测试, 19.4%系统测试, 16.4%

概要设计, 17.2%

需求分析

概要设计

详细设计

编码和单元测试

集成测试

系统测试

Page 18: 软件开发测试基本流程 - hnbemc.com½¯件测试基本流程.pdf · d、组织软件系统测试方案写作 ... – 软件自动化测试工具的应用能力 ... d、确保缺陷分发给相关软件工程师并及时得到解决

18

35http://www.51testing.com

软件测试网

答疑答疑&&交流交流