软件测试方法有哪些(软件测试的设计方法)

在软件测试过程中,必须结合有效的测试方法和有效的测试技术,对软件完成科学的测试,不仅可以提高软件的开发效率,而且还能保证软件的应用价值,通过进-步分析,结合相关技术措施的研究,进一步提高嵌入式软件测试能力,从而为软件开发提供有效的技术保障。

一丶插入技术的应用

通常,从覆盖分析原理出发,用覆盖分析工具对被测程序完成插桩。对于非嵌入式软件测试而言.由于插入代码而导致的问题可以忽略。但由于嵌人式软件系统与硬件密切相关,且JI/O通道少、实时性强,因此这种方法对嵌人式软件来说是致命的,因为大量的插桩码会破坏软件的实时性,从而影响软件的实时性,甚至会造成软件无法正常工作。

插入技术的原理是:首先分析被测软件的程序代码,将插桩语句的丽数插入被测软件源程序的适当位置,其中插入桩语句函数包括语句、标准、判定等,需要覆盖的目标。

然后下载新的插桩文件,运行测试用例,使用工具记录测试数据信息,在宿主主机上结合程序控制流图、调用图、源代码、判定节点标准真值表完成嵌入式软件覆盖测试结果分析;最后测评人员根据分析统计结果判断覆盖测试执行情况,再根据程序代码重新设计测试用例,如此循环最终达到提高代码程序覆盖率要求。

二丶覆盖分析与单元/集成测试

覆盖测试(又称逻辑测试)是测量测试完整性和发现软件问题的必要手段,是测试有效性的度量。覆盖测试的目的是确保软件所有的程序至少要被执行--次,覆盖尽可能多的软件程序的语句和分支结构,以发现软件中的错误和问题。

工具示例:RapiCover是一款以目标硬件为基础的测试覆盖分析工具,它根据所使用的测试用例给出了相应的现场测试覆盖信息,其插桩点数的开销很小,并且可以根据目标板的实际情况提供灵活的支持方式。其功能包括:支持C.C Ada编程语言;时间开销小;语句覆盖、变量定义、标准判断或循环等等。

大多数嵌入式软件的单元测试都是在宿主主机环境下完成的,只有少数需要在目标机上完成。单位测试主要是做白盒测试,每一个函数、每个标准分支、每个程序语句,都要尽可能地测试,提:高代码测试覆盖率。当单元测试完成之后,需要执行集成测试。整合测试也叫装配测试,是把每个模块综合成一个组件,并测试它们之间的接口。

Tessy软件:Tessy是一款专为嵌入式软件动态测试而设计的工具。可在C/C 代码中执行单元测试和集成测试。

三丶全数字模拟考试与交叉考试

这种测试方法就是通过数学平台,将嵌入式系统分割成独立的独立立体,然后开发CPU指令、I/O、时钟等模拟器在开发主机上完成测试。完全数字化模拟测试步骤简单,适合于软件的功能测试,是一种常用的一种测试软件的方法。

但这种测试方法也有它的缺点,嵌人式软件是用各种不同的语言所编写的,因此需要多种模拟程序来工作,所以实时性和准确性差的测试手段不能充分反映嵌入式软件的具体情况,如果并发时间需要一些同步关系,保持协调、准确的系统时钟、整理好时序关系非常困难。

因此,对于嵌人式系统软件测试,不能以全数字模拟为主要手段,否则会造成巨大的代价。

自高级语言出现以来,嵌人式系统的开发环境和运行环境不尽相同,开发环境定义为主机平台,运行环境作为目标平台,相应的测试称为主机目标平台。

通过对P/C环境的测试,可以很好地利用高级语言的移植特性,将不需要在P/C.上完成测试,在没有完成硬件环境或缺乏调试工具的情况下,就可以使用一般的软件测试手段。这一系统中与硬件紧密关联的步骤是在Target.上完成的,相关测试工具支持目标环境。

最终-步骤在目标环境中测试该检验。这种方法比较适用于高级语言,测试成本不高,使用简单,但也因为调试环境的限制,在完成测试检验时会占用一定程度的资源。

四丶模块化测试方法的应用

将大型、结构复杂的嵌入式软件在满足用户需求的前提下,分解成-一个个小的功能模块组合,完成小功能模块的设计开发,将嵌人式软件开发完成分工合作。

主要设计思想如下:采用全局变量的形式实现各功能模块间的数据传递,使软件系统各功能模块之间的逻辑结构相互独立,从而实现了各功能模块之间的数据传递。采用模块化设计的嵌入式软件,极大地方便了嵌入式软件测试的纠错解决工作。

对嵌人软件系统完成模块化测试的主要内容包括:

1)系统平台测试。测试系统的主要内容包括硬件电路的测试、操作系统底层的驱动程序等。

2)模组测试。当系统完成模块测试时,把规模较大、结构复杂的嵌人软件分成多个多小的功能模块,采用模块嵌套的结构形式对软件完成测试,简化了模块间的数据连接,使模块内部的结构更加清晰明了。

3)整体测试。在软件模块中,采用比较简单的单链路数据传递形式,将复杂的链路数据传递方式转换为更简单的单链路数据传递形式,在软件模块中采用了更简单的单链路数据传递形式,使得错误定位更加简单,有利于检测各功能模块之间的数据传递和系统逻辑结构中出现的错误。

4)系统测试。在嵌人式软件系统被投入使用后,通过黑盒测试实现对嵌人式软件系统的动态测试,从而满足用户的功能需求。

五丶最后

总而言之,基于上述对嵌人式软件测试方法和技术研究,确定了具体的测试方法,作为相关工作人员,在完成有效测试的过程中,应结合具体实际,积极采取更迅速、有效的测试方法,提高嵌人式软件测试能力,进一步为嵌人式软件测试工作的开展提供有效的技术保障,从而确保嵌人式软件产品的质量。

看了这篇内容后,坚信以下两件事,也会对你的自我提升有一定的帮助:

1、点赞,让更多人能看到,同时你的认可也会鼓励我创作更多优质内容。

2、要让自己变得更强:想想,假如你是要在测试这个行业长期做下去,你的工作经验和测试技术是绝对不够的,你需要提升,你需要丰富你的技术栈!还等什么!