测试动态 / 质量专栏 / 什么是软件测试?进行软件测试的目的是什么?
什么是软件测试?进行软件测试的目的是什么?
2020-12-03 浏览次数:4488

一、软件测试的定义

软件测试的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。因为软件是由文档、数据以及程序组成的,所以软件测试的对象也就不仅仅是程序本身,而是包括软件形成过程的文档、数据以及程序。
随着软件工程化越来越被重视以及软件规模的不断扩大,软件分析、设计的作用越来越突出,而在实践中,越来越多的错误是在刚开始的分析与设计阶段就已经存在,所以对于软件需求和设计阶段的测试就显得非常重要,这就是测试概念的扩大化以及软件全生命周期测试的理念。

二、软件质量

软件质量有下面几个定义:

1991年,ISO 9126中定义

软件质量是软件满足规定的或潜在用户需求特性的总和

1999年,ISO 14598定义

软件质量是软件特性的总和,软件满足规定或潜在用户需求的能力。

一般对质量的理解是一个实体的“属性”,“属性”好就是质量好,但是这不够全面,因为“属性”是内部特性,而内部特性好不代表一定能够完成好用户的任务,所以软件质量也是关于软件特性具备“能力”的体现。
软件质量包括“内部质量”、“外部质量”、“使用质量”三个部分,也就是说,软件满足规定的或潜在的用户需求的能力要这三个方面去衡量。

三、软件测试与质量保证的区别

质量保证: 质量保证的工作是通过预防、检查和改进来保证软件质量。QA使用“全面质量管理”和“过程改进”的原理开展质量保证工作。所关注的是软件质量的管理与测量。虽然QA活动也有些测试活动,但所关注的主要是软件质量的检查与测量。
软件测试: 测试和质量保证同样都是与软件的开发过程紧密相关,但不同的是其并不关心软件开发过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试活动必须假设软件中存在潜在问题,测试中所有的操作都是为了找出更多的问题,而不仅仅是为了验证每一件事是正确的。对测试中发现的问题的分析、追踪与回归测试也是软件测试中的重要工作,所以说软件测试是保证其质量的重要一环。

四、软件测试的目的

在早期,软件定义指出软件测试的目的是寻找错误,并且尽可能找出更多的错误。后面,有人提出了以下几个目的:

1.测试是程序的执行过程,目的在于发现错误

2.一个好的测试用例在于能够发现至今为止未发现的错误

3.一个成功的测试是发现了至今未发现的错误的测试

4.也有人提出软件测试不仅仅是为了发现缺陷,更重要的是要通过对软件质量的度量以提高软件的质量。
综上所述,软件测试的目的可以概括如下:软件测试是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。 同时,测试是以评价一个程序或者系统属性为目标的活动,测试是对软件质量的度量与评估,以验证软件的质量满足用户的需求的程度,为用户选择和接收软件提供有力依据。
备注: 测试是为了证明软件是否可以使用,即是符合用户的需求的。

五、软件测试的原则

原则1: 所有的测试都应追溯到用户需求
由于软件设计和开发的目的就是使用户完成预定的任务,并满足用户的需求,而软件测试所揭示的缺陷和错误使软件达不到用户的目标,满足不了用户的需求。
原则2: 应该尽早地和不断地进行软件测试
因为软件生命周期的各个阶段都有可能产生错误,所以不能把软件测试仅仅看作为软件开发活动中的一个独立阶段的工作,而应该将其贯穿于开发的各个阶段中。同时还应尽可能早的开始测试,只要测试在生命周期中进行得足够早,就能够提高被测软件的质量,这就是预防性测试的基本原则。
原则3: 完全测试是不可能的,测试需要终止
在有限的时间和资源条件下,找出所有的软件缺陷是不可能的,主要有三个方面的原因:

1.输入量太大

2.输出结果太多

3.路径组合太多

原则4: 测试不能显示软件潜在的缺陷
也就是说测试只能证明软件中存在缺陷而不能证明软件中没有缺陷。
原则5: 充分注意测试中的集群现象
经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目或检错率成正比。根据这个规律,应对错误集群的程序段进行重点测试,以提高测试效益。
原则6: 程序员应避免检查自己写的程序
这有两个原因,一个是心理原因,一个是思维定式原因,一个使人不大愿意承认自己的错误以及思维定式导致难以发现自己的错误,因此为达到测试目的,应该避免这种情况出现。
原则7: 尽量避免测试的随意性
应该从工程的角度去理解软件测试,他是有组织、有计划、有步骤的活动

附: 内容来自《软件评测师教程》


卓码软件测评是一家[ 具备CMA、CNAS双重资质 ]的专业做软件测试的第三方软件测试服务机构, 可根据您的需求提供各类软件测试服务,并出具合格有效的软件测试报告。点击→→可了解测试报价

部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。负责人:曾菲       电话:4006070568


精彩推荐:

做软件测评,首选第三方软件测评中心

什么是CMA,具备CMA资质的软件第三方检测机构有哪些?

软件测试资质有哪些?CNAS认可和CMA检测认定的区别是什么?

CMACNAS认证的测试机构有哪些?2020测试机构新排名

软件测评机构哪家好,软件检测报告多少钱?

文章标签: 第三方测试 软件测试 自动化测试
热门标签 换一换
API测试 API安全测试 网站测试测评 敏感数据泄露测试 敏感数据泄露 敏感数据泄露测试防护 课题软件交付 科研经费申请 软件网站系统竞赛 竞赛CMA资质补办通道 中学生软件网站系统CMA资质 大学生软件网站系统CMA资质 科研软件课题cma检测报告 科研软件课题cma检测 国家级科研软件CMA检测 科研软件课题 国家级科研软件 web测评 网站测试 网站测评 第三方软件验收公司 第三方软件验收 软件测试选题 软件测试课题是什么 软件测试课题研究报告 软件科研项目测评报告 软件科研项目测评内容 软件科研项目测评 长沙第三方软件测评中心 长沙第三方软件测评公司 长沙第三方软件测评机构 软件科研结项强制清单 软件课题验收 软件申报课题 数据脱敏 数据脱敏传输规范 远程测试实操指南 远程测试 易用性专业测试 软件易用性 政府企业软件采购验收 OA系统CMA软件测评 ERP系统CMA软件测评 CMA检测报告的法律价值 代码原创性 软件著作登记 软件著作权登记 教育APP备案 教育APP 信息化软件项目测评 信息化软件项目 校园软件项目验收标准 智慧软件项目 智慧校园软件项目 CSRF漏洞自动化测试 漏洞自动化测试 CSRF漏洞 反序列化漏洞测试 反序列化漏洞原理 反序列化漏洞 命令执行 命令注入 漏洞检测 文件上传漏洞 身份验证 出具CMA测试报告 cma资质认证 软件验收流程 软件招标文件 软件开发招标 卓码软件测评 WEB安全测试 漏洞挖掘 身份验证漏洞 测评网站并发压力 测评门户网站 Web软件测评 XSS跨站脚本 XSS跨站 C/S软件测评 B/S软件测评 渗透测试 网站安全 网络安全 WEB安全 并发压力测试 常见系统验收单 CRM系统验收 ERP系统验收 OA系统验收 软件项目招投 软件项目 软件投标 软件招标 软件验收 App兼容性测试 CNAS软件检测 CNAS软件检测资质 软件检测 软件检测排名 软件检测机构排名 Web安全测试 Web安全 Web兼容性测试 兼容性测试 web测试 黑盒测试 白盒测试 负载测试 软件易用性测试 软件测试用例 软件性能测试 科技项目验收测试 首版次软件 软件鉴定测试 软件渗透测试 软件安全测试 第三方软件测试报告 软件第三方测试报告 第三方软件测评机构 湖南软件测评公司 软件测评中心 软件第三方测试机构 软件安全测试报告 第三方软件测试公司 第三方软件测试机构 CMA软件测试 CNAS软件测试 第三方软件测试 移动app测试 软件确认测试 软件测评 第三方软件测评 软件测试公司 软件测试报告 跨浏览器测试 软件更新 行业资讯 软件测评机构 大数据测试 测试环境 网站优化 功能测试 APP测试 软件兼容测试 安全测评 第三方测试 测试工具 软件测试 验收测试 系统测试 测试外包 压力测试 测试平台 bug管理 性能测试 测试报告 测试框架 CNAS认可 CMA认证 自动化测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568