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

软件测试,即Software Testing。在软件生产过程中,手工或者利用软件测试工具有计划地根据程序代码和用户文档,检查软件功能和性能,从而发现软件产品中存在的问题(bug),并追踪和验证缺陷(bug)的处理。测试用例通常是从无限执行域中适当选取的。
软件测试是对软件形成过程中的所有工作产品(包括程序以及相关文档)进行的测试,而不仅仅是对程序的运行进行测试。
1、测试的目的
不是没有错误,而是软件产品经过发布之后,虽然有缺陷,但是用户可以接受和容忍的。
2、软件测试的特点
◇ 大多数硬件实验失败的方式和方法是固定的,而软件测试失败则是毫无规律的,探索所有软件测试失败的模式是不可能的。
◇ 软件方面的许多缺陷都源于设计和实现上的错误,而不是源于生产制造方面的缺陷。
◇ 软件质量保证的关键在于我们如何避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。
◇ 软件测试是一个动态的执行过程,体现在输入、行为和行为的输出结果上。
◇ 软件测试是一个有限的集合。
3、软件测试信息流

嵌入式软件测和普通软件测试对象相同,包括软件中所有内容,贯穿软件定义与开发的整个过程。
4、软件测试的对象
需求分析、概要设计、详细设计、程序编码等各阶段所得到的文档及源程序,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序。
嵌入式软件的开发和测试也就与普通软件的开发和测试策略有了很大的不同,嵌入式软件系统是一种针对特殊任务、特殊环境而进行特殊设计的定制产品,有其专门的开发环境、软硬件紧密结合、严格的实时要求等特点。使得嵌入式软件测试与普通软件测试虽有相似之处,但也有其自身独特的特点。
02
嵌入式软件测试

嵌入式软件是一种比较特殊的软件,软件经过分析、设计、编码后只有烧入硬件环境中才可以看见,比如数字电视的中间件软件,洗衣机的自动控制软件,手机游戏软件等等。
1、嵌入式软件测试
嵌入式软件测试/嵌入式测试或叫交叉测试(cross-test),其目的与普通软件测试是相同的,都是为了发现软件缺陷,而后修正缺陷以提高软件的可靠性。嵌入式系统安全性的失效可能会导致灾难性的后果,即使非安全性失效,由于其应用场合特殊也会导致重大经济损失。因此,往往嵌入式软件对可靠性的要求比普通软件高。这就要求对嵌入式软件进行严格的测试、确认和验证,以提高产品的可靠性。
2、嵌入式软件测试的特点
◇ 嵌入式软件测试是在特定的硬件环境下才能运行的软件。
◇ 嵌入式软件测试除了要保证嵌入式软件在特定环境下运行的高可靠性,还要保证嵌入式软件系统的实时性。
◇ 嵌入式软件产品为了满足高可靠性的要求,不允许内存在运行时有泄漏等情况发生,因此嵌入式软件测试除了对软件进行性能测试、GUI测试、覆盖分析测试是同普通软件测试一样都不可或缺之外,还要对内存进行测试。
◇ 嵌入式产品不同于一般软件产品,在嵌入式软件和硬件集成测试完成之后,并不代表测试全部完成,在第一件嵌入式产品生产出来之后,还需对其进行产品测试。
◇ 嵌入式软件测试的最终目的是使嵌入式产品在能够满足所有功能的同时安全可靠的进行。