什么是软件测试: 定义比较多如下
- 使用人工或自动手段来运行或测试功能系统的过程,目的在于检查是否满足规定的需求,预期结果和实际结果的差别
- G.J.Myers认为:
-程序测试是为了发现错误而执行的过程
-好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案
-成功的测试是发现至今为止尚未发现的错误的测试
软件测试的目的: 保证整个软件开发过程是高质量的
- 确认软件的质量,其一方面是确认软件做了你所期望做的事情,另一方面是确认软件以正确的方式来做了这个事情
- 提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息
- 软件测试不仅是在测试软件软件产品本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的
测试的主要工作
- 检视代码,评审开发文档
- 进行测试设计,编写测试文档(测试计划 - 测试方案 - 测试用例)
- 执行测试 - 发现软件缺陷 - 编写并提交缺陷报告
- 回归测试 - 测试总结
需求分析: 对开发的软件进行详细的定义,有需求分析员与用户讨论决定,哪些需求可以满足,给予确切的描述,编写软件需求说明书
针对产品的软件研发
- 需求来源: 市场调研
- 用户: 市场调研人员
- 特点: 自己想研发什么,就研发什么
针对项目的软件研发
- 需求来源: 客户需求
- 用户: 实际的客户
- 特点: 别人想研发什么,我们帮着研发什么
设计工作: 设计是软件工程的技术核心,这个阶段需要完成设计说明书
- 概要设计[HLD]: 在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块
- 详细设计[LLD]: 对每个模块具体要完成的工作进行具体的描述
编码工作
把软件设计中各个功能模块用计算机语言实现
运行和维护
- 软件交付用户,投入正式使用
- 维护阶段: 软件错误 , 系统软件升级 , 增强软件功能 , 提高性能等
软件研发要素: 人员 过程 工具
- 只有合适的人借助合适的工具经过合适的过程才能研发高质量的软件
- 工具是为人员和过程服务 - 辅助作用 , 人员和过程 - 关键作用
常见项目组架构
软件开发组
- 开发经理
- 分析人员
- 设计人员
- 开发人员
软件测试组
- 测试经理
- 测试人员
配置管理组
- 配置经理
- 配置管理员(CMO)
软件研发流程
1.瀑布模型: 应用最广泛的一种模型 , 也是最容易理解和掌握的模型 , 缺陷也是显而易见的
Snip20160805_9.png2.螺旋模型: 结合了基本的瀑布模型和演化丶渐增原型方法
Snip20160805_11.png3.RUP流程: 所有工作流在各个阶段都有体现
Snip20160805_12.png4.IPD流程: 从整个产品角度出发 , 不仅仅针对研发
Snip20160805_13.png
网友评论