软件测试的方法

    xiaoxiao2025-05-29  11

    1.  软件测试的方法

     静态测试与动态测试

      黑盒测试与白盒测试

     传统测试与面向对象测试

    1.1   静态测试

    静态测试不实际运行软件,而是静态的来进行检查,主要是对软件编程格式、结构等方面进行评估,也就是 代码验证测试(检查代码是否符合相应编码标准和规范),界面测试(软件中的实际界面与需求中的说明是否相符)以及文档测试 (主要测试用户手册和需求说明是否真正符合用户的实际需求) 

    总之并不真正运行被测程序,只进行特性分析的这样的测试。

    •       代码检查

    ²  类型:代码走查,代码审查(都是在开发组内部进行开展的,代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。)

    ²  代码走查:采用讲解、讨论和模拟运行的方式进行的查找错误的活动。

    ²  代码审查:采用讲解、提问并使用编码模板进行的查找错误的活动。一般有正式的计划、流程和结果报告。

    ²  优点:在实际使用中,代码检查比动态测试更有效率,能快速找到缺陷,发现30%~70%的逻辑设计和编码缺陷;代码检查看到的是问题本身而非征兆。

    ²  缺点:非常消耗时间,且代码检查需要知识和经验的积累。

    •       静态结构分析

    ² 静态结构分析主要是以图形的方式表现程序的内部结构。

        函数调用关系图以直观的图形方式描述一个应用程序中各个函数的调用和被调用关系;

        控制流图显示一个函数的逻辑结构,由许多节点组成,一个节点代表一条语句或数条语句,连接结点的叫边,边表示节点间的控制流向。

    •       代码质量量度

    进行度量的目的是为了减少程序复杂程度,提高软件简单性和可理解性,并使软件开发费用减少,开发周期缩短,软件内部潜藏错误减少

    1.2  动态测试

    •       动态方法的主要特征是:计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。

    •       动态测试包括:

    ²  功能确认与接口测试:通过1动态执行程序能发现模块间参数传递是否正确

    ²  覆盖率分析

    ²  .主要对代码的执行路径覆盖范围进行评估,执行了很多用例

    ²  性能分析通过执行程序或者系统,大家可以发现运行速度是不是能接受,是不是缓慢。代码或者系统运行缓慢是开发过程中常见的重要问题。应用程序运行速度较慢,开发者找不到问题所在, 如不能解决应用程序的性能问题,则将降低并影响应用程序的质量,因此查找和修改性能瓶颈成为调整整个代码性能的关键。

    ²  内存分析内存泄漏会导致系统运行的崩溃,尤其对于嵌入式系统这种资源比较匮乏、应用非常广泛,而且 往往又处于重要部位的,将可能导致无法预料的损失。通过测量内存使用情况,可以了解程序内存 分配的真实情况,发现对内存的不正常使用,在问题出现前发现征兆,在系统崩溃前发现内存泄露 错误;发现内存分配错误,并精确显示发生错误时的上下文情况,指出发生错误的原由。

    1.3.  黑盒测试

    黑盒测试是在程序接口进行测试,在完全不考虑程序内部结构和内部特性的情况,在程序接口进行测试,它只检查程序功能是否按照规格说明书的规定正常使用,验证程序是否能适当地接收输入数据而产生正确的输出信息。也被称为用户测试。主要针对软件界面和软件功能进行测试。

    集成/系统/验收测试:黑盒

    •      定义:若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试方法。

    •      黑盒测试又称为功能测试(性能测试)、数据驱动测试和基于规格说明的测试

    •      它是一种从用户观点出发的测试,一般被用来确认软件功能和性能的正确性和可操作性。

    •      用户观点:用户不关心程序怎样写出来的,只关心如何使用

    •      黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上:

    ²  检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。

    ²  检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。

    ²  检测程序初始化和终止方面的错误

    •       特点:

    ²  黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。

    ²  黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。

    1.4.  白盒测试

    白盒测试需要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中,每条通路是否按预定要求正确工作。也被称为程序员测试。

    单元测试:白盒

    定义:若测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试方法。

    白盒测试又称为结构测试、逻辑驱动测试 或 基于程序的测试

    一般用来分析程序的内部结构。

       关系对比(动静、黑白)

    黑盒:动态(运行程序,只看输入和输出);

          静态(不运行程序,只看界面);

    白盒:动态(运行程序,并分析代码结构);

          静态(不运行程序,只静态查看代码)

    1.5.   传统测试与面向对象测试

    转载请注明原文地址: https://ju.6miu.com/read-1299378.html
    最新回复(0)