软件测试概述

来源:互联网 发布:通达信解禁日期提前知 编辑:程序博客网 时间:2024/05/22 01:33

软件测试概述:

软件与软件测试:

软件=文档+数据+程序

软件生命周期:又称为软件生存周期或系统开发生命周期,就是软件的产生直到报废的整个周期。

软件生命周期被划分成了若干个阶段:可行性分析与项目计划、需求分析、系统设计、编码、调试、测试(执行)、维护升级到废弃等阶段。

软件测试定义:

1、《软件测试技术基础》:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。

2IEEE给出的定义:软件测试是使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。

过程:验证和确认的过程

目的:验证是否满足需求

手段:人工或者自动

体现:发现软件缺陷

时间:贯穿整个软件开发生命周期

软件测试对象:

对软件形成过程的文档、数据以及程序进行的测试,而不仅仅是对程序进行的测试。

阶段性文档:

1、需求规格说明书

2、概要设计规格说明书

3、详细设计规格说明书

4、源程序

5、系统

最终产品文档:

6、用户手册

7、帮助文档

软件测试目的:发现软件中的缺陷

软件质量:

1、发现系统的错误

2、验证系统是否满足需求

3、为产品放行提供依据

4、改进开发流程

对于企业来说:

回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险

软件质量与软件测试:

软件质量:软件的一些质量特性的组合,反映了软件满足用户需求的程度。【规定或隐含的需求】

质量特性:功能性、可靠性、易用性等

用户需求:功能需求、性能需求、约束条件等

软件测试人员的一项重要任务是提高软件质量

软件质量保证人员与软件测试人员:

两个岗位旨在提高软件的质量、但工作的侧重点不同

软件测试人员SQCQuality Control):关心过程的产物、剖析开发出的软件

质量保证人员SQAQuality Assurance):全面质量管理、过程改进

软件测试的经济学(经验):

1、完全的测试是不可能的

原因:软件太复杂,资源不容许,“杀虫剂现象”等等。

措施:需要根据实际情况来决定资源的分配,对测试程度和范围进行有效的控制,只有这样才能投入最少的成本获得最大的回报。

2、不能修复所有的软件故障

原因:没有足够的资源进行修复、修复的风险大、不值得修复

结论:关键是要进行正确的判断、合理的取舍;根据成本和风险分析决定哪些必须修复,哪些可以不修复

问答:

1、测试最重要的依据是什么?用户需求

2、应该从什么时候开始测试?尽早尽快,贯穿整个软件生命周期

3、最能体现测试能力的是什么?

4、开发人员自己测自己的代码怎么样?

软件测试原则:

1、所有的软件测试都应该追溯到用户需求

2、尽早尽快、不断地进行测试

3、严格执行测试计划

4、注重测试用例的设计(以最少的测试用例,做到最大范围的覆盖)

5、程序员应该避免测试自己的程序

6、增量测试、由小到大

7、注意集群现象(二八定理),往往80%的缺陷存在于20%的模块,往往发现问题的模块中存在的问题也是最多的

8、完全测试是不可能的

9、测试的维护,妥善保管测试的文档(回归测试的依据)

软件测试的经验:

1、没有经过自己验证的问题,不要轻信

2、测试人员要始终站在用户的角度去看问题

3、必须基于“质量第一”的思想去开展工作

4、修复缺陷后,一定要进行回归测试,一个是为了验证这个问题有没有被修复,一个是测试是否在修复过程中引进了其他缺陷

原创粉丝点击