什么是软件测试?进行软件测试的目的是什么?
一、软件测试的定义
软件测试的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。因为软件是由文档、数据以及程序组成的,所以软件测试的对象也就不仅仅是程序本身,而是包括软件形成过程的文档、数据以及程序。
随着软件工程化越来越被重视以及软件规模的不断扩大,软件分析、设计的作用越来越突出,而在实践中,越来越多的错误是在刚开始的分析与设计阶段就已经存在,所以对于软件需求和设计阶段的测试就显得非常重要,这就是测试概念的扩大化以及软件全生命周期测试的理念。
二、软件质量
软件质量有下面几个定义:
1991年,ISO 9126中定义
软件质量是软件满足规定的或潜在用户需求特性的总和
1999年,ISO 14598定义
软件质量是软件特性的总和,软件满足规定或潜在用户需求的能力。
一般对质量的理解是一个实体的“属性”,“属性”好就是质量好,但是这不够全面,因为“属性”是内部特性,而内部特性好不代表一定能够完成好用户的任务,所以软件质量也是关于软件特性具备“能力”的体现。
软件质量包括“内部质量”、“外部质量”、“使用质量”三个部分,也就是说,软件满足规定的或潜在的用户需求的能力要这三个方面去衡量。
三、软件测试与质量保证的区别
质量保证: 质量保证的工作是通过预防、检查和改进来保证软件质量。QA使用“全面质量管理”和“过程改进”的原理开展质量保证工作。所关注的是软件质量的管理与测量。虽然QA活动也有些测试活动,但所关注的主要是软件质量的检查与测量。
软件测试: 测试和质量保证同样都是与软件的开发过程紧密相关,但不同的是其并不关心软件开发过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试活动必须假设软件中存在潜在问题,测试中所有的操作都是为了找出更多的问题,而不仅仅是为了验证每一件事是正确的。对测试中发现的问题的分析、追踪与回归测试也是软件测试中的重要工作,所以说软件测试是保证其质量的重要一环。
四、软件测试的目的
在早期,软件定义指出软件测试的目的是寻找错误,并且尽可能找出更多的错误。后面,有人提出了以下几个目的:
1.测试是程序的执行过程,目的在于发现错误
2.一个好的测试用例在于能够发现至今为止未发现的错误
3.一个成功的测试是发现了至今未发现的错误的测试
4.也有人提出软件测试不仅仅是为了发现缺陷,更重要的是要通过对软件质量的度量以提高软件的质量。
综上所述,软件测试的目的可以概括如下:软件测试是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。 同时,测试是以评价一个程序或者系统属性为目标的活动,测试是对软件质量的度量与评估,以验证软件的质量满足用户的需求的程度,为用户选择和接收软件提供有力依据。
备注: 测试是为了证明软件是否可以使用,即是符合用户的需求的。
五、软件测试的原则
原则1: 所有的测试都应追溯到用户需求
由于软件设计和开发的目的就是使用户完成预定的任务,并满足用户的需求,而软件测试所揭示的缺陷和错误使软件达不到用户的目标,满足不了用户的需求。
原则2: 应该尽早地和不断地进行软件测试
因为软件生命周期的各个阶段都有可能产生错误,所以不能把软件测试仅仅看作为软件开发活动中的一个独立阶段的工作,而应该将其贯穿于开发的各个阶段中。同时还应尽可能早的开始测试,只要测试在生命周期中进行得足够早,就能够提高被测软件的质量,这就是预防性测试的基本原则。
原则3: 完全测试是不可能的,测试需要终止
在有限的时间和资源条件下,找出所有的软件缺陷是不可能的,主要有三个方面的原因:
1.输入量太大
2.输出结果太多
3.路径组合太多
原则4: 测试不能显示软件潜在的缺陷
也就是说测试只能证明软件中存在缺陷而不能证明软件中没有缺陷。
原则5: 充分注意测试中的集群现象
经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目或检错率成正比。根据这个规律,应对错误集群的程序段进行重点测试,以提高测试效益。
原则6: 程序员应避免检查自己写的程序
这有两个原因,一个是心理原因,一个是思维定式原因,一个使人不大愿意承认自己的错误以及思维定式导致难以发现自己的错误,因此为达到测试目的,应该避免这种情况出现。
原则7: 尽量避免测试的随意性
应该从工程的角度去理解软件测试,他是有组织、有计划、有步骤的活动
附: 内容来自《软件评测师教程》
什么是软件测试?进行软件测试的目的是什么?相关推荐
- 什么是软件测试?软件测试的目的和流程是什么?——入门软件测试
一.软件测试的基本概念 什么是软件? 软件:控制计算机硬件工作的工具.(操作系统也属于软件) 什么是软件测试? 软件测试就是使用技术手段验证软件产品特性是否满足用户的需求. 二.软件测试的目的 减少软 ...
- 软件测试02:软件测试的定义和目的
软件测试02:软件测试的定义和目的 正向思维的定义 出发点:使自己确信产品是能够正常工作的评价一个程序和系统的特性或者能力,并确定它是否达到期望的结果,软件测试就是以此为目的的任何行为. 反向思维的定 ...
- 软件测试的五个目的,你知道几个?
作为软件开发过程中不可或缺的一部分,软件测试的目的是确保软件产品符合预期的质量标准,在满足需求.稳定性和安全性等方面得到客户的认可.以下是软件测试的五个目的,看看你知道几个? 1.发现问题并修正 通过 ...
- 软件测试系列---软件测试基础
软件测试系列--软件测试基础 1.什么是软件测试? **软件测试是一个过程,包含了若干活动,运行软件进行测试只是活动之一**进行软件测试可以人工方式也可以借助于工具**进行软件测试可以运行软件也可以不 ...
- 【全栈软件测试】软件测试学习路线介绍
一.前言 1.为何要写软件测试,软件测试很简单. 实际上,软件测试入门简单,但要学透学好,是有很多知识的,入门简单入土难.当你看完学习路线,就知道写的是全栈软件测试,涵盖的内容:全栈软件测试,从零基础 ...
- 叮当软件测试简历,软件测试作业..doc
软件测试作业. 软件测试作业 第1题 设有一个档案管理系统,要求用户输入以年月表示的日期.假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月.现用 ...
- 怎样快速学习软件测试?软件测试学习方法
很多人在了解到目前国内软件测试行业的高薪以及市场前景之后,都纷纷加入到软件测试的行列中.那对于新入行的新手来说怎样快速学习软件测试呢?学习软件测试有哪些比较有效的学习方法呢? 相对互联网其他岗位而言, ...
- 【软件测试】软件测试管理
软件测试管理 软件测试环境 测试环境的要素 测试环境管理员 软件测试计划 ⭐测试计划目标 测试计划主题 测试计划制订过程 定义工作进度的过程 测试策略 软件缺陷(bug)管理 缺陷管理流程 缺陷的主要 ...
- 004-什么是软件测试?软件测试的目的与原则
软件测试的定义: 使用人工或自动手段,来运行或测试某个系统的过程.其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别. 软件测试的目的: 测试是程序的执行过程,目的在于发现错误 一个 ...
- 软件测试面试-测试的目的是什么?【高频】
我们经常被面试官问到,软件测试的目的是什么? 错误回答: 保证软件没有bug. 错误原因:因为再完全和充分的测试都很难保证软件没有bug,包括现在的微信,支付宝等国民性的软件,也很难说自己的软件没有任 ...
最新文章
- Cognos配置oracle类型内容库时报错
- 【Linux基础】kiickstart无人值守安装
- 你问我答,准备面试需要做哪些技术储备,面试官更加关心什么方面的技术点?...
- SpringCloud版本名字
- [渝粤教育] 西南科技大学 车辆构造 在线考试复习资料
- Java部分A+B正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA
- wxpython下载很慢_为什么WxPythons运动检测速度如此之慢?
- 关于Background-size的几个参数区别
- 不创建 sequence 自增字段
- Lubuntu 18.10仍有可能支持32位PC
- 跨境电商ERP系统的相关信息?
- python中列表中的字典的排序问题
- 数学建模中的整数规划总结及姜启源第4章(1-3)的解析
- Unity精品Demo收集
- mysql给一张表做快照_MySQL之快照读
- LaTeX中的参考文献BibLaTeX
- opening V4L
- 看完这篇java单利模式文章,面试的时候再也不怕了
- ROS2机器人笔记21-03-14
- biosrecovery什么意思_BIOS是什么意思``