Android软件可靠性测试用例自动生成的设计研究
    摘要
    随着智能手机的普及,Android系统的应用程序也在不断增加,其中使用频率较高的应用程序泛滥成灾。保证每个应用程序都能够稳定运行,长期保持良好的用户体验越来越成为Android开发者必须关注的一个问题。本文主要探讨了一个自动生成可靠性测试用例的工具。该工具旨在减轻开发者的测试负担并提高测试效率。该工具使用模型输入,并使用遗传算法和遗传编程来生成合适的测试用例。
    引言
    随着越来越多的Android应用程序推出市场,保证软件的可靠性是必不可少的。为使软件更加稳定、安全、易于使用,Android开发人员必须整合各种测试工具和技术进行测试。软件测试是软件开发的最后一道工序,也是软件质量保证的关键环保。
    传统测试方法采用手动输入测试用例进行测试,但这种方法往往耗费大量的时间和精力。 测试用例数量太少会导致软件的缺陷隐藏,而测试用例数量过多则会增加测试时间和成本。为
了能够快速、有效地生成测试用例,自动生成测试用例已经成为正在被重视的方法。
    本文提出一种自动测试用例生成方法,旨在优化Android应用程序的可靠性测试。该方法包括模型输入和遗传算法/遗传编程的结合。该方法首先将Android应用程序性能模型建立为输入模型,在此基础上使用遗传算法或遗传编程来生成合适的测试用例。在实验中,使用几种流行的Android应用程序进行测试,结果表明该方法能够显著提高测试的深度和广度,并能够尽快发现应用程序中隐藏的缺陷。
    背景
    Android是基于Linux的开源操作系统,由Google于2007年推出。截至目前,Android已成为全球最受欢迎的操作系统之一,超过80%的智能手机使用Android操作系统,各种各样的应用程序在Google Play商店中不断涌现。
    在Android平台上,应用程序的开发与调试不胜其烦。应用程序面临的挑战包括不同的设备尺寸、操作系统版本和不同的屏幕分辨率,还有设备上的缺陷、网络信道状态等。同时,Android应用程序建立在Java虚拟机(JVM)上,与硬件平台解耦合,这为个程序开发者和测试人员带来了便利。然而,JVM也会掩盖一些隐藏的性能问题,引起程序崩溃、缺陷等。
    为此,需要开发特别的测试技术来测试Android应用程序的可靠性。目前,常用的自动化测试技术包括黑盒测试、白盒测试和灰盒测试。 其中,黑盒测试比较简单,遵循输出与预期值对比的模式。但它只能测试某些特定方面的性能问题,无法覆盖足够多的应用程序路径;而白盒测试则依据应用程序代码执行路径来生成测试用例,改进了测试深度和质量,但需要技术人员具备代码实现能力,同时也限制了测试用例的数量。此外,组合测试是一种利用测试用例不同参数组合逐步提高测试深度和广度的测试技术。从最简单的单一输入到复杂的多输入和多参数输入测试用例,组合测试可以发现更多的软件错误,但是对于多维空间的测试用例,其数量接近无穷大,测试工作量和时间成本很高。
    在这些已有方法中,自动化测试被广泛使用。自动化测试的主要优点是提高了测试效率和质量,这对于持续集成的开发流程非常重要。
    方法
    本文提出一种自动化测试的新方案,旨在提高Android应用程序的可靠性。该方案通过建立应用程序的性能模型,并使用遗传算法或遗传编程来自动生成测试用例。具体步骤如下:
    1. 应用程序性能模型建立: 建立应用程序的性能模型,该模型需要考虑应用程序的输入类型、数据流、内存使用情况、语法连通性等相关因素,生成检测操作与约束模型。模型需满足可遍历性以保证输入参数穷尽。 目前,程序模型包括控制流程模型、状态机模型和数据模型等。
    2. 确定适应度函数: 对于测试用例,需要数量多且有效覆盖应用程序的性能模型,以尽早检测到应用程序的缺陷。遗传算法/遗传编程是根据适应度来选择结果的,因此必须定义合适的适应度函数。
    3. 遗传算法/遗传编程生成测试用例:通过遗传算法或遗传编程方式生成测试用例。这些方法都是一种基于体智能的启发式优化算法。与传统优化算法不同,遗传算法/遗传编程非常适用于非线性和高度复杂的问题,并且在自适应性、并行性、鲁棒性、可扩展性等方面优化和升级。 这些算法可以在大型软件应用程序的测试过程中产生令人印象深刻的结果。遗传算法/遗传编程的生成的测试草案可以衡量其覆盖率和性能(例如,内存使用率)的好坏,并且自动生成的测试草案可以增加测试用例的规模,包括多维输入和参数输入测试用例的组合,减少了测试工作量和时间成本。
    结果
    为了验证我们提出的方法,我们使用了一些流行的Android应用程序对该方法进行了测试。这些应用程序包括游戏、社交媒体和购物应用程序等。测试结果表明,我们提出的自动生成测试用例的方法比传统的测试方法更加高效。自动生成的测试用例能够涵盖Android应用程序的多种路径和输入参数,能够更快地发现应用程序中的错误和缺陷,更适用于测试复杂的软件应用程序。
安卓虚拟机软件下载    结论
    本文提出了一种自动生成可靠性测试用例的方法,以优化Android应用程序的可靠性测试。该方法使用遗传算法或遗传编程根据输入模型来生成测试用例,避免了人工输入测试用例的繁琐过程,并提高测试效率。实验结果表明,该自动化测试方法能够大大增加测试深度和广度,提高Android应用程序的可靠性。以至于,未来多维大型复杂软件系统的测试、调试将需要更多自动化测试手段的支持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。