软件开发测试基本流程
软件开发工程师
A、完成概要设计和接口文档 B、参加设计文档评审 D、根据评审专家意见,修改设计文档
19
概要设计阶段的角色和职责(2)
软件测试项目经理
A、组织所有的测试活动 B、制定测试策略 C、确保测试活动有合适的计划
软件测试网
软件测试工程师
A、撰写集成测试用例
软件测试网
10
5
软件需求规格举例
软件测试网
11
需求阶段的角色和职责(1)
软件测试网
软件开发项目经理
A、带领项目分析业务需求 B、带领项目组完成软件需求规格说明书
软件开发工程师
A、撰写软件需求规格说明书 B、参加软件需求规格说明书的评审 C、根据评审意见,修改软件需求规格说明书
21
软件测试网
22
11
软件单元测试设计的技能要求
• 软件开发相关
– 具有良好的编码能力 – 软件详细设计的评审能力
• 软件测试技术相关
– 代码逻辑覆盖率的相关知识 – 单元测试用例设计的相关知识
• 软件测试管理相关
– 软件测试的项目管理 – 沟通能力 – 执行能力
16
8
UML的类图
学校
系
1..*
有成员
1
*
1..*
0..1 1..*开设
有成员
0..1
*
参加
*
+系主任
1..*
学生
课程
教师
*
*
* 教课 1..*
必修课
选修课
软件测试网
< < Interfa c e> > IS ecureUser
setA ccess() getA ccess() ge t U s e rId () new()
软件测试网
27
软件集成测试执行阶段
• 软件集成测试用例执行 • 软件集成测试软件缺陷记录、跟
踪 • 软件集成测试日报写作 • 软件集成测试报告写作 • 软件集成测试缺陷的回归测试
软件测试网
28
14
软件单元、集成测试执行技能要求
• 软件开发相关
– 具有良好的编码能力
13
软件系统测试设计的技能要求
• 软件开发相关
– 软件需求的相关知识 – 可视化建模/UML相关知识
• 软件测试技术相关
– 软件系统测试方案的设计 – 软件系统测试用例设计 – 产品质量属性相关知识
• 软件测试管理相关
– 软件测试的项目管理 – 沟通能力 – 执行能力
软件测试网
30
15
软件系统测试执行的技能要求
• 软件开发相关
– 软件需求的相关知识 – 可视化建模/UML相关知识
• 软件测试技术相关
– 软件自动化测试工具的应用能力
• 软件测试管理相关
– 软件测试的项目管理 – 沟通能力 – 执行能力
• 产品业务知识
UniqueId
g en era te () as String() U niqueId()
< < Inter fac e> > IS e c u re Da t a ge tU n iq ue Id ()
17
软件集成测试设计的技能要求
• 软件开发相关
– 软件架构设计的相关知识 – 可视化建模/UML相关知识
需求分析, 9.0% 概要设计, 17.2%
需求分析 概要设计 详细设计 编码和单元测试 集成测试 系统测试
34
17
答疑&交流
软件测试网
35
18
软件测试网
15
概要设计子系统/模块示例
客户端 程序
发送文字 发送文字确认
发送握手消息 握手消息应答
服务器端
文字聊天消息接口模块 消息保存模块
服务器鉴权模块 数据库接口
操作维护接口
操作维护模块
软件测试网
数据库
软件开发测试基本流程
培训教材
软件测试网
课程内容
• 国内软件测试现状以及存在的问题 • 软件开发测试基本流程 • 软件测试的误区和最佳实践方法
软件测试网
2
1
软件测试所在的几大行业
软件测试网
• 金融行业:证券、期货、保险、银行、……
A、完成设计文档 B、参加设计文档评审 D、根据评审专家意见,修改设计文档
24
12
详细设计阶段的角色和职责(4)
软件测试项目经理
A、组织所有的测试活动 B、制定测试策略 C、确保测试活动有合适的计划
软件测试网
软件测试工程师
A、撰写单元测试用例
S ecurityAccess CanRead : Boolean C an W ri te : Boo le an C an D el e te : Boo le a n
is Readable() is Wri te ab le () is D ele te ab le () m akeR eadable() m a ke W ri te ab le() m a ke D el e te ab le() n e w ()
• 软件测试技术相关
– 良好的单元、集成自动化测试框架能力
• 软件测试管理相关
– 软件测试的项目管理 – 沟通能力 – 执行能力
软件测试网
29
软件系统测试执行阶段
• 软件系统测试用例执行 • 软件系统测试软件缺陷记录、跟
踪 • 软件系统测试日报写作 • 软件系统测试报告写作 • 软件系统测试缺陷的回归测试
软件测试工程师
A、搭建测试环境 B、执行测试用例 C、将测试中发现的所有缺陷填写在缺陷报告中 D、回归测试 E、准备测试报告
33
软件开发测试工作量分布
软件测试网
编码和单元测试, 16.4%
集成测试, 19.4%
系统测试, 16.4%
详细设计, 21.6%
25
软件编码阶段
• 软件代码静态检查 • 软件代码走读
软件测试网
26
13
单元测试执行阶段
• 软件单元测试用例执行 • 软件单元测试软件缺陷记录、跟
踪 • 软件单元测试日报写作 • 软件单元测试报告写作 • 软件单元测试缺陷的回归测试
20
10
详细设计阶段
• 软件详细设计的检视、评审 • 软件单元测试计划、方案设计 • 软件单元测试计划、方案的检视和
评审 • 软件单元测试用例设计 • 软件单元测试用例的检视和评审
软件测试网
详细设计举例
• 电信行业:电信设备制造商、电信运营商、内容提供商、手机终 端、……
• 其他行业:软件测试外包、工业自动化、电子类消费产品、电力、交 通、军工产品 ……
3
软件测试普遍存在的问题
• 管理层面:
– 公司高层对软件测试的重视程度不够 – 软件公司的测试管理流程不够完善 – 软件测试人员的投入不足,人员素质参差不齐
• 产品业务知识
– 通讯的原理 – 财会知识 – 金融产品知识 – ……
软件测试网
14
7
概要设计阶段
• 软件概要设计的检视、评审 • 软件集成测试计划、方案设计 • 软件集成测试计划、方案的检视
和评审 •
Quality & Productivity
Technology
6
3
软件开发测试基本过程
软件测试网
7
产品开发测试基本过程
软件测试网
客户需求 产品包需求
硬件设计需求
………
软件设计需求 软件设计规格 产品测试规格
ST SRS
……
IT
UT
HLD
LLD
测试用例
• 技术层面:
– 软件开发文档缺乏,无法开展有效的测试用例设计 – 缺少软件可测试性的设计 – 软件测试用例设计的不够充分 – 软件测试自动化水平偏低
• 其他:
– 开发人员的软件质量意识不足 – 用户对软件质量的认识不足和对软件价值的不认同 – 软件测试人才的培养渠道不畅
8
4
常见的软件开发过程
软件测试网
客户
开发者
“给我完成一个系统!”
发生一些神秘的事情
完成
9
需求分析阶段
• 软件需求的检视、评审 • 系统测试计划、方案设计 • 系统测试计划、方案的检视和评审 • 软件系统测试用例设计 • 软件系统测试用例的检视和评审
• 软件测试技术相关
– 软件集成测试方案的设计 – 软件集成测试用例设计
• 软件测试管理相关
– 软件测试的项目管理 – 沟通能力 – 执行能力
软件测试网
18
9
概要设计阶段的角色和职责(1)
软件测试网
软件开发项目经理
A、在项目计划中标识设计活动并确保有足够的资源 B、从项目成员中标识出概要设计人员,负责设计工作 C、确保设计人员按照本流程开发相应的设计说明书 D、确保按照评审规程进行设计的评审
12
6
需求阶段的角色和职责(2)
软件测试网
软件测试项目经理
A、参与开发人员的软件需求分析,提出可测试性需求 B、组织人员参与软件需求规格的评审工作 C、组织软件系统测试计划写作 D、组织软件系统测试方案写作
软件测试工程师
A、参与软件需求规格的评审工作 B、协助软件测试项目经理完成软件系统测试计划写作 C、协助软件测试经理完成软件系统测试方案写作