为了账号安全,请及时绑定邮箱和手机立即绑定

软件测试

标签:
测试

按测试手段来分类
测试时对象可见度 黑盒测试、白盒测试
根据状态 静态测试、动态测试
测试执行的方式 手工测试、自动化测试
黑盒测试
在测试中把我们被测试的系统或者软件看成一个不能打开的盒子,在完全不考虑程序内部结构和内部特性的情况下,通过相关暴露出来的接口来对程序进行测试,黑盒测试只检查程序的功能是否按照我们需求规格说明的规定能够正常的使用,程序是否能够适当的接收数据并产生正确的输出信息。黑盒测试着眼于程序的外部结构不考虑内部的逻辑。一般来说针对软件外面的界面或者可见的功能来进行测试。
黑盒测试更多的从用户的视角通过不同的数据和事件驱动我们的系统,并通过输出结果进行判断

黑盒测试的优缺点
优点:
1、 容易实施,不需要关注内部的实现
2、 更贴近用户的使用角度
缺点:
1、 测试覆盖率较低,一般只能覆盖到代码量的不到40%(系统不可见,因为不了解内部的实现,很多逻辑分支我们不清楚,所以测试很难覆盖到这些分支)
2、 针对黑盒的自动化测试,复用率较低,维护成本较高(黑盒测试最关注的功能,软件产品在研发的迭代时期最经常变化的是功能,重复的利用率比较低,经常变化脚本的维护成本比较高)
黑盒测试主要测试什么

黑盒测试的主要设计方法

等价类划分法:针对程序有很对的输入条件,把所有的输入当中等价的归为一类,这样最后会形成若干典型的代表性的输入,通过这些典型的数据进行测试用例的设计。
边界值分析法:对输入或输出的边界值进行测试
错误推测法:基于经验或者直觉来判断程序中可能出现错误的地方,从而针对性的设计用例的方法。
因果图法: 拿到程序的需求规格说明书,针对每一种输入和输出在因果图中看成原因和结果,对输入和输出赋以特定的标识符,然后将这些情况形成因果图。
白盒测试
测试人员对内部结构非常了解,逻辑结构对测试人员是透明的,又称为结构化测试和透明盒测试,针对程序的逻辑结构设计测试用例,用逻辑的覆盖率衡量测试的完整性

主要的逻辑单元:语句,条件,条件组合,分支,路径
白盒测试的优点:
1、 迫使测试人员去仔细思考软件的实现,理解原理
2、 可以检测代码中的每条分支和路径
3、 揭示隐藏在代码中的错误
4、 对代码的测试比较彻底
缺点:
1、 昂贵(较高的覆盖率,工作量大)
2、 无法检测代码中遗漏的路径和数据敏感性错误(无法发现少写的逻辑)
3、不能直接验证需求的正确性(针对代码层次)
白盒测试的主要测试方法
代码检测法:主要包括桌面检查、代码审查,主要检查代码和设计的一致性
静态结构分析法:测试者通过使用测试工具来分析源代码的系统结构、数据结构,内部的控制逻辑。通过内部的结构设计测试用例
静态质量度量法:根据标准的质量模型,构造质量的度量模型用以评估软件的各个方面的要素
逻辑覆盖法:语句覆盖,条件覆盖,条件组合覆盖,分支覆盖(判定覆盖),路径覆盖,条件和判定的组合覆盖
基本路径测试法:白盒测试中非常主要的测试方法,在程序控制流图的基础上通过分析控制构造的圈复杂度(在软件测试的概念里,圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为独立线性路径条数,即合理的预防错误所需测试的最少路径条数。圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系。)找出基本可执行的路径的集合进而设计测试用例的方法
灰盒测试
介于黑、白测试之间的,关注输出对于输入的正确性,同时也关注内部表现
静态测试
静态测试是指无须执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率
方法:互相审查,走查,会议
动态测试
动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等。
手工测试
由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适合针对深度的测试和强调主观判断的测试。
众包测试、探索式测试
自动化测试
使用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查。
单元测试、接口测试、性能测试等

点击查看更多内容
21人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消