软件测试的定义和目的
一、软件测试的定义
1、软件定义
软件=应用程序+文档+数据
叙述:
1>、应用程序:指从第三方下载的应用软件;
2>、文档:例如和应用程序相关的使用说明、用户手册,产品需求说明书等;
3>、数据:指的是和应用程序相关的数据集合;
2、 软件测试的对象:应用程序、文档、数据;
例:从数据测试角度来看:在搜索栏:输入【手机】的关键词;
预期结果:搜索出和手机相关的商品;
实际结果:出来了一堆和电磁炉相关的商品
实际结果≠预期结果 发现了bug
3、 软件的分类:
层次:系统软件:系统软件(代表:操作系统:win,mac,ios,Android…)
应用软件:(代表:第三方公司开发,从应用市场、商店进行下载使用:QQ,WX…)
组织:开源软件:开源软件(免费,不花钱)
闭源软件:商业软件(花钱)
结构:单机软件:单机软件(不需要网络支持)
闭源软件:(B/S,C/S) ;B/S:浏览器/服务器,B/S架构软件—>指的是这一类软件的使用是依赖于【浏览器】,比如,学员后台
管理系统
C/S:客户端/服务器,C/S架构软件—>指的是这一类软件的使用是需要单独下载【客户端】,比如,QQ,WX
腾讯视频软件:B/S,C/S两端都有的:B/S:打开浏览器,可以访问/操作腾讯视频;C/S:大家也可以下载它的客户端进行操作
4.软件测试定义:
4.1> 正向思维:
使自己确信产品能够正常工作,从而评价(测试)一个系统或软件的特性(功能),看软件的功能是否达到预期的结果。
4.2> 反向思维
测试是为了证明程序是有错的,而不是无错的;
测试是为了发现错误而执行一个程序/系统的过程;
一个成功的测试,在于发现之前未发现的错误;
4.3>IEEE定义https://ieeer8.org/
在规定条件(对应的测试环境)下,运行系统或构件(操作被测软件),观察和记录结果(实际结果),根据实际结果和预期结果的对比,给出评;
例:多边形判定小程序:验证直角三角形判定:输入三条边:3,4,5预结果:提示直三角形,实际结果:提示普通三角形实际结果#预期结果-----> 发现了一个bug
4.4> 广义的软件测试(基于经验总结)
测试是对软件形成过程中所有的工作产品(应用+文档+数据)进行验证和确认的操作,不仅仅是测试程序,还有数据和文档,目的是为了发现软件中存在的各种错误和缺陷;
软件测试的工作是对软件产品一直在进行验证和确认的活动过程:
验证:提供相关的证据,证实软件产品的功能已实现;
确认:提供相关的证据,证实软件产品已实现功能的正确性或合法性;
例如:需求说明:开发一款计算器小程序,包括加减乘除四个功能的。
测试环节**😗**验证工作:证实计算器小程序的加减乘除四个功能是有的;
确认工作**😗**证实计算器小程序的加减乘除四个功能操作使用时,产生结果的正确性;
**5.**软件测试的目的(掌握):
以最少的人力,物力,时间找出软件中潜藏的各种错误和缺陷,并提交给开发人员进行修复,避免因软件潜藏的错误或缺陷,引发商业风险;
尽可能早的和不断的发现软件潜藏的缺陷,并保证得以修复!
二、软件缺陷的判定
1.从结果角度来判定缺陷
软件功能的实际结果和预期结果不一致
例:多边形判定小程序:图案显示功能:点击三边形按钮预期结果:图案位置显示三边形/三角形
实际结果:图案位置显示五边形。
2.从需求角度来判定缺陷:
2.1 指的是个软件所要实现的规格说明,相当于一个软件中要包含哪些功能;
所有不满足需求的,或者超出需求的,都是缺陷
例:需求说明:开发一款计算器小程序,包含加减乘除四个功能的。
模拟场景:
测试1:发现只有加减乘功能,少了除法功能---->提交成bug:缺少功能(不满足需求);
测试2:发现除了加减乘除四个功能外,还多了一个开平方的功能,而且该功能是可以正常使用的.–>提交成bug:多余功能(超出需求)