软件测试基本概念

上一篇 / 下一篇  2014-11-30 12:09:54 / 个人分类:基础知识

转眼测试工作已经多年,从未认真总结过自己一路成长的过程。现在从头开始,回顾自己从跨入软件测试行业开始一路的学习成长过程。整理以下关于软件测试的基本概念。
1、什么是软件测试?
软件测试的广义概念是指软件生命周期中的检查、评审和确认工作,其中包括了对需求分析、设计阶段、开发完成后的维护阶段的各类文档及代码的审查和确认。
软件测试的狭义概念是指识别软件缺陷的过程,即识别软件运行实际结果与预期结果的不一致过程。
软件测试通常包括验证和确认。验证指保**正确的实现了某一特定功能的一系列活动;确认指的是保**的实现满足了用户需求的一系列活动。

2、软件测试的目的?
a.软件测试的目的就是发现软件中的各种缺陷
b.软件测试只能证明软件存在缺陷,不能证明软件不存在缺陷
c.软件测试可以使软件中的缺陷降低到一定程度,而不是彻底消灭
d.以较少的用例、时间和人力找出软件中的各种错误与缺陷,以确保软件的质量

3、软件测试的目标?
最终目标是确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付之前发现并改正。
a.确保软件完成了它所承诺或公布的功能
b.确保软件满足了性能的要求
c.确保软件是健壮的和适应用户环境的
d.为软件的质量评估提供依据
e.为软件质量改进和管理提供帮助

4、软件测试的原则?
a.Good-enough原则。一种权衡投入/产出比的原则
b.保证测试的覆盖度,但穷举测试是不可能的
c.所有的测试都应追溯到用户需求
d.越早测试越好,测试过程与开发过程应是相互结合的
e.测试的规模由小而大,从单元测试系统测试
f.为了尽可能的发现错误,应由独立的第三方进行测试
g.不能为了便于测试擅自修改程序
h.既应该测试软件应该做什么,也应该测试软件不应该做什么

5、软件测试的规律?
a.木桶原理:软件质量的关键因素是分析、设计和实现,测试应该是融于其中的补充检查手段,其他的管理、支持,甚至文化因素也会影响最终的软件质量;软件测试是提高软件质量的必要条件,是最直接最快捷的手段,但决不是一种根本手段。
b.80-20原则:在分析、设计、实现阶段的复审和测试工作能够发现和避免80%的BUG,而系统测试又能找出其余BUG中的80%,最后的5%的BUG可能只有在用户的大范围长时间使用后才会暴露出来。

6、软件测试的重点?
a.测试用例的良好设计。测试用例的设计是整个软件测试工作的核心,测试用例反映对被测对象的质量要求,决定对测试对象的质量评估
b.测试工作的管理。尤其对包含多个子系统的大型软件系统,其测试工作涉及大量的人力和物力,有效的测试工作管理是保证有效测试工作的必要前提
c.测试环境的建立。测试环境应该与实际应用环境一致

7、软件测试的质量?
软件测试可以发现以下软件缺陷:软件实现的功能不正确;“缺少”--软件没有实现需求中的某项功能;“多余”--软件实现的某项功能在需求中没有定义
a.发现第一类软件缺陷的过程--验证
b.发现后两类软件缺陷的过程--确认
c.软件测试本身的质量在于,发现软件缺陷并能区分其类型,并可以提供关于软件质量和开发过程质量的信息

8、软件测试的度量?
a.测试覆盖率:有多少需求、代码已经被测试了
b.缺陷发现率:缺陷是何时被发现,且有多少缺陷已经被发现。缺陷可以根据严重性来分类。需求记录的数据有:缺陷数量,缺陷的严重等级等
c.测试成功率:有多少测试用例已经通过,且有多少运行正常的。需要记录的数据有:通过的测试用例数,未通过的测试用例数,已执行的测试用例数等

9、软件测试的分类?
典型的软件测试类型有:功能测试性能测试、可靠性测试、可维护性测试、容错性测试、可移植性测试、恢复测试、安全性测试、易用性测试、用户文档测试等

10、软件的可测试性?
软件容易被测试的程度包括以下几个指标:
a.可确认性。可以明确确认软件是否符合要求,例如有明确的要求和指标
b.可观察性。用于确认的结果可以进行有效的观察
c.可控制性。相对应的测试环境可以进行控制,从而保证测试的有效性
d.可分解性。软件可以进行分解,对分解的结构进行测试





TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-20  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 12556
  • 日志数: 3
  • 建立时间: 2008-09-23
  • 更新时间: 2014-11-30

RSS订阅

Open Toolbar