真人网赌app平台-全球最大网赌app-登录

App开发:如何做好嵌入式App开发测试

2018-07-30 09:54:59

计算机技术的不断发展带动App功能的不断强大,市场对App的需要越来越高。实际上,计算机App的发展与市场需要存在一定的不同步现象,导致用户使用过程中存在一定的故障,这些故障严重时会造成严重的经济损失。因此改善App质量是计算机领域的重要工作。嵌入式App由于自身的特点,被应用到军用设备中,因此对其进行研究,并做好相关的测试工作对于发展App工程具有重要现实意义。    

1 嵌入式App特点    

研究嵌入式App的特点应该从嵌入式系统开始了解,通常在嵌入式系统的开发过程中,需要进行软硬件的独立开发。硬件部分的开发会形成裸机平台,App部分则需要进行独立单元、独立部分以及配置项的编程工作。在硬件平台测试通过以后,才能将相应的App在硬件平台上进行集成,并开展各种功能和性能的调试工作。    

嵌入式系统开发时,底层驱动程序、操作系统以及应用程序之间存在一定的关联,不能将三者独立进行开发。通常根据需要还会对其进行一定的综合以满足开发的需要。嵌入式系统的开发过程实际上是软硬件之间相互协调、相互反馈、相互测试的过程,系统的功能和性能也会在测试的过程中得到体现。嵌入式系统开发过程中,App开发对硬件具有较强的依赖性,因此在进行App测试时,应该跟硬件进行结合以保证测试效果。    

通常情况下,嵌入式App缺乏继承性,因此需要保证跟硬件之间形成一对一的关系。硬件在不断的发展升级过程中,App也需要不断开发满足硬件的需要。这种情况会造成App编程的工作量加大,继承性较差。除此之外,硬件的更新速度本身就比较快,因此容易出现软硬件不匹配的情况。因此在实际测试过程中需要两者之间相互协调,才能确定最终的功能和性能指标。    

2 App测试过程中遇到的问题   

App测试工作对于保证App的功能和质量具有重要作用,对于App而言,测试工作开始的越早,对质量的控制情况越好。传统的App测试主要包括单元测试、部件测试、配置项测试以及系统集成测试四个部分。这种测试方式适用于脱离软硬件平台的测试,对于嵌入式App的测试,会出现一定的问题:    

(1)嵌入式App的开发过程中,产品的功能和性能通过软硬件的结合发挥作用。在实际测试工作中,需要进行一定的调整工作,这种调整实际上是对软硬件的一种协调。但在App测试中,通常会采用预防为主的理念,这就跟嵌入式App的测试发生了冲突,因此在实际进行测试时应该做好调整工作。    

(2)对App进行重大修改或者新研发设备的测试过程中,由于算法、功能和性能上脱离实际平台,因此需要进行进一步的验证工作。在C3I等控制App开发过程中,设备与指控中心是独立开发的,经常会出现接口协议冲突问题,因此系统在调试过程中需要进行较大改动,这样对于早期版本进行测试对App的实际质量作用不大。    

(3)App测试中的单元测试、部件测试、配置项测试、系统集成测试等,都会包含功能测试和性能测试工作。但在嵌入式App的测试过程中由于缺乏测试平台,导致功能和性能上的测试难以实现,形成了诸多矛盾。    

嵌入式App在测试过程中出现的种种矛盾导致App测试工作难以开展。一方面App的单元测试、部件测试以及配置项测试需要跟硬件进行结合才能开展调试工作;另一方面这些部分的测试由于没有装入硬件平台进行实际测试,因此无法确定是否符合相关的匹配要求,完成最终的测试工作。    

3 嵌入式App测试的基本方法    

嵌入式系统以计算机技术为基础,以应用为中心,软硬件可以进行调整。嵌入式系统的软硬件功能联系紧密,不能单独完成测试工作,因此嵌入式App测试相比于PC系统App测试难度更高。嵌入式App系统测试具有以下特点:    

(1)测试App功能对硬件功能依赖性强,难以快速定位软硬件错误;    

(2)使用编码难以完成强壮性测试、可知性测试;    

(3)在交叉测试平台上的测试用例、测试结果上载难度较大;    

(4)由于消息系统测试具有一定的复杂性,因此线程、任务、子系统之间的交互,并发、容错和对时间的要求都较高;    

(5)嵌入式App系统的重要特征还体现在性能测试、确定性能瓶颈困难;    

(6)由于测试过程中需要考虑的因素较多,难以实施测试自动化技术。App测试在工程开发上,本身投入较大,成本较高。嵌入式App测试系统由于自身的复杂性和综合性,相应的成本会持续扩大。    

综合以上嵌入式App系统测试的特点,常用的测试方式主要有全数字模拟测试与交叉测试两种,接下来笔者详细分析两种测试技术。    

3.1 全数字模拟测试    

全数字模拟测试是一种利用数学平台的方式,可以将嵌入式App从系统中分离出来。通过对CPU指令、常用芯片、I/O、中断、时钟等模拟器的开发在开发主机平台(Host)上完成嵌入式App的测试。这种测试方式比较简单,对于App的功能测试具有较好的适用性。但全数字模拟测试方式本身具备一定的局限性,对于不同编程语言完成的App需要通过不同的仿真程序完成测试工作。实时性、准确性和通用性都比较差。另外完全搭建测试环境花花费的成本过高,因此全数字模拟测试只能作为嵌入式App测试的辅助手段。    

3.2 交叉测试(Host/Target测试)   

由于高级语言的影响,嵌入式系统的开发环境和运行环境存在一定的差异。开发环境可以视为主机平台(Host),App运行环境视为目标平台(Target),这种测试方式又称为HostTarget测试(交叉测试)。在进行测试工作时,利用高级语言的可移植性优势,将与目标环境无关的测试工作移植到PC平台上完成。在硬件环境未搭建好之前或者设备工具缺乏的情况下,可以利用常规App测试的方式完成测试工作。系统中与硬件相关的测试工作需要在Target上完成,使用测试工具必须保证支撑目标环境,最终对目标环境进行确认,完成整体的测试工作。这种测试方式适用于高级语言,操作简单测试成本较低。缺点是实时性较差,并且在目标环境的测试中需要占用一定的目标资源。   

4 提高嵌入式App测试水平的策略    

嵌入式App的测试技术还在不断发展,通过对嵌入式App系统测试特定以及当前存在问题的分析,可以通过以下几种措施提高嵌入式App测试水平,笔者将其归纳总结如下:    

4.1 先静后动、从小到大、由黑到白    

(1)App测试应该先进行静态测试,然后进行动态测试。测试时间越早对于质量的控制性越高。另外对于嵌入式App系统的测试应该做好与硬件的协调工作。    

(2)单元测试完成后再进行集成测试,单元测试的效果越好,整体的效率越高。    

(3)先进行简单的黑盒测试再进行白盒测试,确定App的功能,同时对程序的覆盖率进行验证。    

4.2 重视质量分析工作    

App模块之间的逻辑结构是App质量的直观反映。这种结构性越好,代码的可靠性越高。结构化测试也是分析代码质量的重要方法。代码的复杂性和错误情况可以通过结构分析得到改善。    

4.3 选择合理的工具完成测试,并加强管理    

嵌入式App系统的测试对工具的要求更高,必要时需要搭建测试所需要的环境,提高测试成本,为保证测试效果。在测试工作中需要选择合理的工具完成测试工作,降低工作量。同时还应该对工具进行严格管理,通过维护与更新,控制测试成本。

在嵌入式App的测试工作中,首先应该遵循预防为主的理念。并按照App开发的相关顺序完成对App的测试工作。同时还应该对App测试的成本、进度、风险以及有效性等因素进行综合考虑。当前硬件的集成度不断提高,App的功能越来越强大,因此对于嵌入式App的测试应该增加科研投入,不断满足市场需要,提高App的质量和稳定性。

真人网赌app平台|全球最大网赌app

XML 地图 | Sitemap 地图