两种黑盒测试方法的比较分析
作者:张新 焦豪
来源:《电子技术与软件工程》2018年第07期
摘要 软件应用于几乎所有的科学技术领域。一款特定软件的用户类别取决于他们的认可以及软件的质量。软件开发人员有责任确保软件没有缺陷,并且可以执行所需要的功能。软件测试是软件开发生命周期阶段的一项重要工作。各种研究分析表明软件测试占了整个软件开发工作的30%。所以测试对于提高软件质量有至关重要的作用。软件测试主要包括单元测试、集成测试和系统测试。单元测试基本有两种测试方法:黑盒测试和白盒测试。本文分析了黑盒测试方法和相关问题。
【关键词】软件测试 黑盒测试 等价类划分边界值分析 1 引言
软件测试是一项涉及到人类心理学和经济学的技术性工作。一些测试人员对测试的误解是这样的:“软件测试就是证明软件不存在错误的过程”或者:“测试是确保开发的软件能够满足其所有功能和非功能需求的过程”。虽然这两个观点理论上看起来是完美的,但是对于测试,更为合适的定义应该是:“测试是为发现错误而执行程序的过程”。这个定义包含以下两点: (1)这并不是要证明这个软件是错误的;
(2)测试人员在测试之前应该假设程序存在错误。
软件测试也可以被描述为确认和验证软件或应用程序是否符合指导其设计和开发的业务和技术功能需求的过程。确认和验证是确保软件满足软件需求规范文档中提及的要求并且满足其预期功能的过程。它可以被认为是确保软件质量的一种方法。
为了分析各种测试方法,首先我们必须知道软件测试中使用的基本术语。
测试用例(Test case):测试用例是为了特定的测试场景设计的一组测试输入、执行条件以及预期结果,以确保是否符某个特定的功能需求。以在两个输入的整数中找出最大的程序来示例,然后可以设计出以下测试用例: Integer l=2 and Integer 2=4 Integer l=4 and Integer 2=2 Integer l=-3 and Integer 2=-2 Integer l=-2 and Integer 2=0
龙源期刊网 http://www.qikan.com.cn
Integer l=1 and Integer 2=1
测试套件( Test suit):在数学上是由所有的测试用例作为元素组成的集合。通过测试套件,将服务于同一个测试目的或同一运行环境下的一系列测试用例有机的组合起来。测试套件可能有无数个测试用例。一个好的测试套件涵盖了大多数错误,包含最少的测试用例。对于上面提到的计算两个整数中最大值的程序,测试套件可以有如下定义: {(2,4), (4,2), (.3,.2), (.2,0), (1,1))
误差(Error):误差是实际结果和预期结果不匹配的程度,它代表了代码开发人员所犯的错误。错误是测试人员发现的,当开发人员接收这个错误时,它就被称为bug。
故障(Fault):故障是在计算机程序中使程序产生意想不到结果的不正确的指令、函数或数据解释。故障会导致错误。
程序错误(Bug):Bug是代码块中产生意外结果的错误。这通常是开发人员接受的错误。
失败( Failure):失败是软件系统无法执行其预期的功能和非功能要求。
缺陷( Defect):缺陷是程序员在编码或者逻辑中犯的错误,它会导致程序产生错误或偏差。通常在发生故障时检测到缺陷。 2 软件测试方法
软件测试工作包括四个阶段:
(1)设计一个适当的测试套件来执行所有的代码行。 (2)执行每个测试用例来查找代码块中的错误。 (3)通过检查测试结果来确定错误的来源。 (4)修改程序来修复Bug。
软件产品通常要经过三个层次的测试:单元测试、集成测试和系统测试。单元测试是指依据详细的设计描述,对每一个功能相对的程序模块进行测试。单独的单元测试模块被组合或集成在一起形成软件。在此级别的集成模块上执行的测试成为集成测试。集成模块可以是自下而上、自上而下或者混合的。集成后的软件应具备所有所需求的功能,这可以通过执行系统测试来保证。 3 单元测试
龙源期刊网 http://www.qikan.com.cn
我们使用合适的示例程序代码来分析各种单元测试测试方法。考虑具有以下字段的特定网站的设置页面: 姓名:char [50] 性别:char
系统时间:DD/MM/YYYY
可以认为这个设置页面是软件的一个单元模块。因此,在开发这个模块之后,我们必须通过执行其预期的功能来确保该单元成功执行。首先应用单元测试,其中包括黑盒测试和白盒测试。黑盒测试检查软件系统的功能方面,而白盒测试验证软件系统的逻辑方面。
黑盒测试人员不需要知道内部逻辑或程序结构,因为内部逻辑方面是不被测试人员所熟知的。就像测试人员用黑盒子遮挡了内部结构,不知道系统组建是如何在盒子内部构成。在黑盒测试中,测试人员关注的是软件的功能而不是软件怎么开发出来的。表1列出了黑盒测试和白盒测试策略之间的对比。
我们通过应用两种黑盒测试方法来分析我们的测试模块:等价类划分法和边界值分析法。 等价类划分法就是把输入划为若干部分,从每个部分中选取少量的代表性数据,来对被测应用进行测试的黑盒测试方法。测试人员面临的挑战是设计一个最小的测试套件。在这个方法中,整个输入集被划分成不同的子集或类。每个类代表一组具有相似特征和规格的测试输入。根据输入约束条件,每个子集或者多个类可能是有效的也可能是无效的。在等价类划分技术中,我们假设一个类中的所有条件都将以相同的方式处理,所以只需要从每个子集或者分区类中测试一个条件。如果分区类中的一个条件有效,我们假设该分区中的所有条件都可以工作,如果分区类中的某个条件不起作用,那么我们假设该分区中的任何条件都不起作用。
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- zrrp.cn 版权所有 赣ICP备2024042808号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务