Hello!为了整理自己所学的知识,开始写博客当作记录。话不多说,Let’s go!
本文主要讲述四点内容:
一.软件测试的概念和目的;
二.软件的生命周期;
三.研发需要那些要素;
四.缺陷;
一.软件测试的概念和目的
1.定义:使用人工和自动化手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求,或是弄清预期结果与实际结果之间的差别。
Ps:实际上并没有统一的定义,这个定义是由IEEE(电气和电子工程师协会)1983年提出来的。
2.含义:
-
软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一
-
进行软件测试可以人工方式也可以借助于工具
-
进行软件测试可以运行软件也可以不运行软件
-
软件测试的目的不仅仅是为了发现错误
3.目的:证明,检测,预防
-
证明------证明软件可以运行
-
检测------发现软件中的错误
-
预防------预防缺陷的发生
4.常见误区(下列说法均有问题)
- 调试和测试是一样的(应该是不一样);
- 测试组应该为保证质量负责(项目质量由各部门一起负责);
- 过分依赖Beta测试(测试应该在整个生命周期中展开);
- 把测试作为新员工的一个过度工作;
- 把不合格的开发人员安排做测试;
- 关注于测试的执行而忽略测试的设计;
- 自动化测试是万能的; 测试是可以穷尽的;
- 测试是为了证明软件的正确性;
5.测试工程师的职责
- 完成文档,代码的检查;
- 测试设计,文档编写(测试计划,测试方案,测试用例);
- 测试执行,跟踪和提交缺陷报告,进行回归测试;
- 评估软件质量,提交测试报告;
二. 软件的生命周期
瀑布模型:计划–需求分析–设计–编码–测试–运行及维护
- 计划
- 确定软件开发总目标;
- 给出软件的功能,性能,可靠性以及接口等方面的设想;
- 研究项目的可行性,探讨问题解决方案;
- 对可供开发使用的资源,成本,可取得得效益和开发进度进行评估;
- 指定完成开发任务得实施计划。
- 需求分析
- 对开发的软件进行详细定义,由需求分析人员和用户共同讨论决定,并编写SRS(软件需求说明书)。
- 需求分类:显性需求(用户明确提出的要求),隐形需求(用户未明确提出,但也要实现的需求),潜在需求(用户也需要,但因某原因放弃的需求)
- 软件产品分类:
a. 产品类软件:没有特定用户,以合同形式明确,需求由市场分析人员分析潜在客户的潜在需求获得
b. 项目类软件:需求由特定用户以合同等契约形式明确下来
- 设计
- 概要设计(HLD):在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;
- 详细设计(LLD):对每个模块要完成的工作进行具体描述
- 编码
把软件设计转换成计算机可以接受的程序,即写成以某些程序设计语言表示的源程序。 - 测试
- 研发团队内部测试(没有用户):
a. 单元测试,测试最小设计单元,参考LLD;
b. 集成测试,单元,模块的集成及接口,参考HLD;
c. 系统测试,测试完整的系统,参考SRS; - 有用户参加的测试阶段:
a. 验收测试
b. alpha测试
c. beta测试
- 运行及维护
- 运行:软件交付给客户正式使用
- 维护:研发团队对软件进行修改和升级
三. 软件研发要素
- 组织
2.技术 - 技能:编码技术与测试用例设计技术
- 工具:集成开发环境,数据库管理工具,自动化测试工具,测试管理工具
3.流程 - 研发流程:
a. 瀑布模型:定义阶段(计划–需求分析)–开发阶段(设计–编码–测试)—维护阶段(运行和维护)
b. 螺旋模型:基于瀑布模型,适用于需求不明确的项目,开发周期较长;
c. RUP流程:描述了如何有效地利用商业的可靠的方法开发和部署软件
d. IPD流程:在综合了许多业界最佳实践要素的框架指导下,从流程重整和产品重整两个方面来达到缩短产品上市时间、提高产品利润、有效地进行产品开发、为顾客和股东提供更大价值的目标。从整个产品角度出发,不仅仅针对研发。在IPD中有两类跨部门团队,一个是集成产品管理团队(IPMT),属于高层管理决策层; 另一个是产品开发团队(PDT),属于项目执行层;
四. 缺陷
1.定义
- 软件缺陷:既指存在于软件工作产品(文档,代码)中的错误,也指软件运行时由于这些错误引起的与产品预期不符的现象。
- Bug:代码中的缺陷
二者在实际工作中,并不做明确的区分
2. 缺陷产生的原因 - 开发过程中缺乏有效的沟通;
- 软件复杂度越来越高;
- 编程过程中出现错误;
- 需求不断变更;
- 项目进度的压力;
- 不重视开发文档;
- 软件开发工具本身隐藏的问题
3.常见的缺陷类型 - 遗漏:应该实现的需求未实现;
- 错误:未按照需求规格实现;
- 额外的实现:实现了没有在文档中明确规定的需求或者实现了明确说明不需要实现的内容;
- 可优化:只实现了用户的最基本需要,但还不够满足用户更高的要求
4.说明
测试应该尽早介入,缺陷具有放大效应,缺陷的解决成本与发现时间成正比。