软件测试之功能测试_软件功能测试-程序员宅基地

技术标签: 功能测试  

什么是功能测试

功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。

功能测试也称为行为测试,根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。功能测试是为了确保程序以期望的方式运行而按功能要求对软件进行的测试,通过对一个系统的所有的特性和功能都进行测试确保符合需求和规范。

功能测试也叫黑盒测试或数据驱动测试,只需考虑需要测试的各个功能,不需要考虑整个软件的内部结构及代码。一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。

功能测试的方法

功能测试也叫黑盒测试,相当于把整个测试对象看作一个黑匣子,我们看不到黑匣子的内部结构和运行方式,但是却可以通过外部表现来对他进行功能方面的测试,这就是功能测试。

黑盒测试与之对应的有白盒测试,白盒测试主要是针对软件内部的代码逻辑进行测试,二者相辅相成,都是软件测试过程中的不同方法。

黑盒测试试图发现以下类型的错误:
(1)功能设计上的问题或者遗漏
(2)界面出现错误
(3)数据结构或外部数据库访问错误
(4)性能出现错误
(5)初始化和终止错误

黑盒测试设计测试用例的方法有:等价类划分法、边界值法、判定表法、因果图法、错误推断法、正交实验设计法。

一、等价类划分法

等价类划分法解决了不能穷举测试数据的问题,只要数据值是明确的,就可以使用等价类划分法。
等价类分为有效等价类和无效等价类

有效等价类 无效等价类
输入的正确且合理的数据以此验证该功能是否能够正确正常的运行,验证软件设计是否符合我们规格说明中的要求 通过输入对程序规格说明中不合理、不正确、无意义的数据来验证在异常输入数据的情况下程序是否也会出现异常
若输入条件规定了取值范围或者值的个数,以ATM机取款为例
取款条件
100<=单次取款额度<=10000

那么根据取款条件,我们就可以划分有效等价类和无效等价类

有效等价类 无效等价类
取款金额:500 取款金额:50、11000

这里有效等价类就1个、无效等价类有2个

若输入值是布尔类型

那么可以设置一真一假的有效等价类和无效等价类

若输入值是规定了必须要遵循的原则,可划分为一个有效等价类(符合规则)和若干个无效等价类,以保存联系人手机号为例
有效等价类 无效等价类
11位数字号码 输入字母
输入特殊字符
输入10位
输入12位
若输入值规定了符合好几个原则,则可划分为多个有效等价类和若干个无效等价类,以qq密码为例
有效等价类 无效等价类
输入数字 输入单引号或双引号
输入字母 输入空格
输入特殊符号 输入汉字
若规定了输入数据的一组值(假定n个),且程序对不同输入值做不同处理,则可划分为n个有效等价类(每个允许的输入值为一个有效等价类)和一个无效等价类(所有不允许的输入值的集合),以学历选择为例
有效等价类 无效等价类
专科 小学 初中 高中 职高
本科
硕士
博士

二、边界值法

边界值法是对等价类划分法的一个补充,边界值一般都是去等价类的边缘进行查找。一般大量的错误会出现在输入输出的边界上,因此使用各种边界值去设计测试用例能找出更多的BUG

边界值点分为上点、内点和离点

上点 内点 离点
区间的端点,如0<x<5或0<=x<5,那么上点都是0和5 上点之间的任意一点 最靠近上点的点,开内闭外,如0<x<5,那么离点就是1和4,如果 0<=x<=5,那么离点就是-1和6,如果0<x<=5,那么离点就是1和6

该图转自CSDN @小宝的宝呢

三 、判定表法

判定表法又称决策表,他是以表格的形式,在处理比较复杂的问题时,统计多条件下的各种情况出现的可能性,然后全部列举下来,利用判定表法能够写出更全面的测试用例

适用范围:相比于等价类划分法和边界值法,他们针对的是单个条件在输入输出时的取值问题,而判定表法更多的是考虑到各种条件的相互组合和输入输出的相互制约当中。

判定表的组成:
条件桩:列出问题的所有条件,列出条件的次序无关紧要
动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
条件项:列出条件对应的取值,所有可能情况下的真假值
动作项:列出条件项的各种取值情况下应该采取的动作结果

四、因果图法

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,她适用于检查程序输入条件的各种组合情况,适合于描述多种输入条件的组合、相应产生多个动作的方法。

因果图的四个好处:

(1)考虑多个输入之间的相互组合、相互制约关系。

(2)指导测试用例的选择。能够指出需求规格说明书描述中存在的问题。

(3)能够帮助测试人员按照一定的步骤,高效率地开发测试用例。

(4)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明书存在的不完整性和二义性。

1、因果图的基本关系------因果符号(恒等、非、或、与)---------因果关系

(1)在这里插入图片描述

恒等:条件c1满足要求时,一定会输出结果e

若c1为1,则e1也为1,否则e1为0。

(2)在这里插入图片描述

非(-):条件c1满足要求时,一定不会输出结果e

若c1为1,则e1也为0,否则e1为1。

(3)在这里插入图片描述
或(^):条件c1、c2、c3任何一项满足要求时,就会输出结果e

 若c1或c2或c3为1,则e1也为1,否则e1为0。

(4)在这里插入图片描述
与:条件c1、c2、c3同时满足要求时,才会输出结果e

若c1和c2和c3都是1,则e1也为1,否则e1为0。

2、因果图的基本关系------原因符号( 异、或、唯一、要求)--------原因与原因之间的关系

(1)
在这里插入图片描述

异(E约束,Exclusive):原因a、b中只能有一个为真(只有2个条件)

 a和b中至多有一个可能为1,即a和b不能同时为1。(不可能同时为1,但可以同时为0)

(2)
在这里插入图片描述

或(I约束,Inclusive):原因a、b中至少有一个为真(a为真,b也可以为真)

   a和b中至少有一个必须是1,即a和b不能同时为0。(可以同时为1)

(3)
在这里插入图片描述

唯一(O约束,One and Only):在多组判定条件中,有且只有一个为真(多个条件)

  a和b中必须有一个是1,且有且仅有1个为0。(有a无b,有b无a)

(4)
在这里插入图片描述
要求(R约束,Request):原因a满足条件时,原因b一定满足条件

 a是1时,b必须是1,即不可能a是1时b是0。

五、场景设计法

现在的软件几乎都是用事件触发控制流程的。测试时,可以生动地描绘出时间触发时的情景,有利于设计测试用例,同时使测试用例更容易理解和执行

场景业务分为基本流、备选流和异常流
在这里插入图片描述
基本流:基本流表示业务流程输入都正确,能达到业务目标
(插卡—>输入正确密码—>输入金额—>取款—>取卡)

备选流:备选流表示通过业务流程时输入错误(或者操作错误)导致流程存在反复,但是经过纠正过后任然能达到目的的流程
(插卡—>输入错误密码—>输入正确密码—>输入金额—>取款—>取卡)

异常流:异常流表示通过业务流程时输入错误(或者操作错误)产生异常终止的流程
(插卡—>输入3次错误密码—>吞卡)

基本流:只有一种情形,中间的所有业务都是正确的,最后达到的结果也是正确的,这个场景就是基线
备选流:
1、业务流程开始—>业务流程反复—>业务流程介绍
2、业务流程开始—>业务流程反复—>业务流程中断—>未结束
异常流:
业务流程开始—>业务流程中断—>未结束(在这种情况下业务流程还没有走完)

六、错误推断法

凭着直觉和经验来设计测试用例,它是根据之前项目相关的bug数据总结来的

第三方软件测试

如果一个公司没有专业的软件测试人员或者需要CNAS或CMA认证的软件测试报告,就可以选择第三方软件测试机构。选择第三方软件测试机构首先要考虑的是公司的资质问题,正规的软件测试机构必须要有CMA、CNAS证书,其次要拥有强大的软件测试团队,最后要有专业的软件测试环境。这里推荐成都精正检测技术有限公司,拥有CMA、CNAS证书,软硬件检测环境达标,可出具公正权威的软件测试报告。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/skyskr/article/details/131429773

智能推荐

Ratelimitcache: Python缓存库,支持速率限制-程序员宅基地

文章浏览阅读339次,点赞8次,收藏8次。Ratelimitcache: Python缓存库,支持速率限制项目链接: https://gitcode.com/simonw/ratelimitcache?utm_source=artical_gitcode如果你正在寻找一个Python缓存库,并且希望对缓存操作进行速率限制,那么Ratelimitcache可能是你的理想选择。什么是Ratelimitcache?Ratelimitca..._python ratelimit基于什么

【爬虫】Xpath和CSS信息提取的方法异同点_xpath 获取css-程序员宅基地

文章浏览阅读2.3k次,点赞2次,收藏8次。Xpath和CSS信息提取的方法异同点_xpath 获取css

剑指 Offer(专项突击版)- 剑指 Offer II 052. 展平二叉搜索树(20220729)-程序员宅基地

文章浏览阅读95次。剑指 Offer II 052. 展平二叉搜索树

Xilinx AXI Interconnect_axi interconnect不同位宽-程序员宅基地

文章浏览阅读1.2w次,点赞12次,收藏118次。目录0、绪论1、AXI Crossbar1.1、几种可以选择的Crossbar 互联结构1.1.1、Crossbar mode (Performance Optimized)1.1.2、Shared Access mode (Area optimized)2、AXI Data Width Converter3、AXI Clock Converter4、AXI Pr..._axi interconnect不同位宽

Linux部署Django_Vue_linux 安装django vue3-程序员宅基地

文章浏览阅读340次。linux宝塔_linux 安装django vue3

win7访问smb文件服务器,win7系统配置smb服务器-程序员宅基地

文章浏览阅读1.3k次。win7系统配置smb服务器 内容精选换一换首次开机时,缺省进入遥控器配置向导界面。遥控器操作界面选择“系统设置 > 配置向导”,进入“配置向导”界面。网线连接:当终端有插入网线时,进入“LAN”界面(仅支持IPv4格式),如图3所示。请联系管理员获取网络配置方式,配置方式请参见表1。配置方式配置项操作自动获取终端通过DHCP(Dynamic Host Configuration操作系统镜像..._win7 设置smb访问方式

随便推点

关掉\禁用win7自动配置ipv4地址的方法 默认网关自动消失的解决办法_禁止修改网关命令-程序员宅基地

文章浏览阅读3w次,点赞2次,收藏4次。转载自: http://blog.csdn.net/zouqin369/article/details/6913692 今天去公司设置好IP后,无论怎么样都上不了internet,再次打开本地后发现默认网关自动消失,cmd下输入ipconfig后的现象如下: 物理地址. . . . . . . . . . . . . : 00-22-64-55-76-8F DHCP 已启用_禁止修改网关命令

Extjs4.2 window加载HTML,父子页面html传参_extjs中打开网页怎么传参-程序员宅基地

文章浏览阅读482次。Extjs的窗口是可以加载自己的HTML的,但这样两个页面就相当独立了,传参是个问题 ,网上也没有很好的解答清楚,猫猫今天就说清楚这个模式的传参要点。_extjs中打开网页怎么传参

计算机网络复习——Ch3点到点数据链路层_hdlc go-back-n-程序员宅基地

文章浏览阅读1.2k次。Ch3点到点数据链路层知识点1. 点到点数据链路层要解决的主要问题2. 常见的帧管理(帧定界)方法3. CRC的计算4. 流量控制的基本原理5. 常见错误及其处理机制6. 滑动窗口的概念、形式及工作原理7. ARQ(Automatic Repeat reQuest)协议工作原理:8. 连续ARQ(Go-back-N ARQ)工作原理(特别注意累计确认):9. 选择重传ARQ工作原理10. 了解(高..._hdlc go-back-n

oracle四大索引类型,各种Oracle索引类型介绍-程序员宅基地

文章浏览阅读2.6k次。逻辑上:Single column 单行索引Concatenated 多行索引Unique 唯一索引NonUnique 非唯一索引Function-based函数索引Domain 域索引物理上:Partitioned 分区索引NonPartitioned 非分区索引B-tree:Normal 正常型B树Rever Key 反转型B树Bitmap 位图索引索引结构:B-tree:适合与大量的增、删、..._oracle索引有哪几种类型

CountDownLatch闭锁_countdownlatch illegate-程序员宅基地

文章浏览阅读176次。11_countdownlatch illegate

推荐文章

热门文章

相关标签