嵌入式软件测试与软件测试的同异

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式软件测试与一般软件测试之异同研究

摘要:随着计算机技术的普及,软件系统已经深入到生活的各个方面,从普通的计算机软件,到银行或超市的终端系统,甚至到手机的软件系统。对软件的质量要求也在不断提高,软件测试及其技术也有了飞速发展。在对软件测试技术相关基本概念研究解析的基础上,分析软件测试起源与发展,保证软件产品的质量、提高产品的可靠性。对于嵌入式软件系统,因其多样性,基于操作系统,使用的开发环境,微控制器都是日益繁多的,所以嵌入式软件测试与普通软件测试相比有其自身的特点。

关键字:软件测试;嵌入式软件测试;软件质量

Abstract:As the population of using computer get growing, it is not doubt software has been rooted in every aspects of our daily life, from the common software you can get from the market to the high security software used in the blank and the terminator in the supermarket, even to the software which be put into Mobil phone,so the requirement for its quality is never ignored,Software testing and its technology has evolved. On the basis of digging into the software test and analyses the history of it, which ensure the quality and stability value to the products.As embedded software on system, the diversity of the development environment, the controller are more onerous, so embedded software testing compared to ordinary software testing has its own characteristics.

Key words: software testing; embedded software; quality of software 1引言

嵌入式软件的开发和测试也就与普通软件的开发和测试策略有了很大的不同,嵌入式软件系统是一种针对特殊任务、特殊环境而进行特殊设计的定制产品,有其专门的开发环境、软硬件紧密结合、严格的实时要求等特点。使得嵌入式软件测试与普通软件测试虽有相似之处,但有也有其自身独特的特点。

2软件测试和嵌入式软件测试

2.1软件测试的定义及目的

软件测试,即Software Testing。软件测试的定义有很多,在1979年出版的一本经典著作《软件测试艺术》(The art of software testing)中,GLEMFORD J.MYERS曾经对软件测试下过如下定义:软件测试就是为了发现错误而执行程序或系统的过程。虽然它不太完善,但放在当时的情况下是可以说的通的。

随着计算机和软件技术的发展,软件应用的复杂性和规模的不断扩大,软件测试技术的研究也取得了很大的突破。早期的定义已经不适用了,许多专家对软件测试提出了各种各样的定义。综合起来,我们可以定义“软件测试是由一个程序的行为在有限测试用例集合上,针对期望的行为的动态验证组成,测试用例是从通常的无限执行域中适当选取的”。

长期以来对软件测试存在着两种不同的认识。一种观点认为,软件软件测试的目的是证明软件的正确性;而另一种观点则认为,软件测试的目的是尽可能寻找软件中隐藏的错误和缺陷。

2.2软件测试的特点

1、大多数硬件实验失败的方式和方法是固定的,而软件测试失败则是毫无

规律的,探索所有软件测试失败的模式是不可能的。

2、软件方面的许多缺陷都源于设计和实现上的错误,而不是源于生产制造

方面的缺陷。

3、软件质量保证的关键在于我们如何让避免产生错误和消除已经产生的错

误,是程序中的错误密度达到尽可能低的程度。

4、软件测试是一个动态的执行过程,体现在输入、行为和行为的输出结果

上。

5、软件测试是一个有限的集合。

2.3嵌入式软件测试的定义及目的

嵌入式软件是一种比较特出的软件,软件经过分析,设计,编码后只有烧入硬件环境中才可以看见,比如数字电视的中间件软件,洗衣机的自动控制软件,手机游戏软件等等。嵌入式软件测试/嵌入式测试或叫交叉测试(cross-test)的目的与普通软件测试是相同的,都是为了发现软件缺陷,而后修正缺陷以提高软件的可靠性。嵌入式系统安全性的失效可能会导致灾难性的后果,即使非安全性失效,由于其应用场合特殊也会导致重大经济损失。因此,往往嵌入式软件对可靠性的要求比普通软件高。这就要求对嵌入式软件进行严格的测试、确认和验证,以提高产品的可靠性。嵌入式软件(embeddedsoftware):嵌入式计算机系统中的软件,其与硬件联系紧密,并且通常要求强实时性。

2.4嵌入式软件测试的特点

嵌入式软件测试与普通软件测试相比,有其自身的特点:

1、嵌入式软件测试是在特定的硬件环境下才能运行的软件。

2、嵌入式软件测试除了要保证嵌入式软件在特定环境下运行的高可靠性,

还要保证嵌入式软件系统的实时性。

3、嵌入式软件产品为了满足高可靠性的要求,不允许内存在运行时有泄漏

等情况发生,因此嵌入式软件测试除了对软件进行性能测试、GUI 测试、

覆盖分析测试是同普通软件测试一样都不可或缺之外,还要对内存进行

测试。

4、嵌入式产品不同于一般软件产品,在嵌入式软件和硬件集成测试完成之

后,并不代表测试全部完成,在第一件嵌入式产品生产出来之后,还需

对其进行产品测试。

5、嵌入式软件测试的最终目的是使嵌入式产品在能够满足所有功能的同

时安全可靠的进行。

3嵌入式软件测试与普通软件测试的异同点

3.1嵌入式软件测试与普通软件测试的相同点

嵌入式软件测试作为一种特殊的软件测试,它的目的和原则与普通软件测试是相同的,都是为了发现软件缺陷,而后修正缺陷以提高软件的可靠性。它们的中心任务都是验证和确认其实际实现是否符合需求要求,在验证过程中发现系统缺陷。

嵌入式软件测试与普通软件测试具有相同的信息流,如图3-1。

图3-1 软件测试信息流 嵌入式软件测和普通软件测试对象相同,包括软件中所有内容,贯穿软件定义与开发的整个过程。也就是说,需求分析、概要设计、详细设计、程序编码等各阶段所得到的文档及源程序,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应当称为软件测试的对象。

3.2嵌入式软件测试与普通软件测试的区别

由于嵌入式系统的自身特点,如实时性(Real-timing),内存不丰富,I/O 通道少,开发工具昂贵,并且与硬件紧密相关CPU 种类繁多,等等。嵌入式软件 测试 结果 分析 可靠性 分析 排错 软件配置

测试配置

测试工具

预期结果

出错率数据 错误

改正后的软件 预测的可靠性

相关文档
最新文档