面向移动端测试的测试用例生成方法研究
作者单位:吉林大学
学位级别:硕士
导师姓名:张家晨
授予年度:2019年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:功能测试 自动化测试 测试用例 App测试 软件测试
摘 要:合理有效的测试是保持App产品质量稳定的必要手段。在对App进行基于录制回放框架的功能测试过程中,首先需要对测试人员在手机上的操作进行录制并生成基于控件信息的脚本;然后对脚本中的控件进行遍历生成测试路径,并结合测试人员的输入数据生成功能测试用例,存放到本地文件中;最后依据测试用例脚本中的数据进行App功能测试。生成的测试用例是否可以涵盖所有的测试路径会直接影响功能测试的效果。本文以功能测试为切入点,设计了一种基于APCO算法的功能测试用例生成方法。解决了手工测试的人力消耗大、生成测试用例时耗过长、生成的测试用例覆盖量小、测试用例可重复利用率低等问题。在生成测试用例的过程中,一般采用DFS算法对测试脚本中的控件进行循环遍历,但这种方法在实际应用中出现重复遍历无效测试路径、遍历过程中出现死循环的问题,影响了测试效率。本文在DFS算法的基础上进行了优化,采用APCO算法对测试脚本中的控件进行遍历。APCO算法对遍历控件过程中的无效测试路径控件进行标记,再次遍历到该控件时自动跳过。这不仅可以确保生成的功能测试用例的深度,还可以提高功能测试用例的覆盖范围,以及在遍历控件的过程中,减少对无效测试路径内控件遍历的次数,缩短测试用例生成中的时耗,提高功能测试的效率。为实现基于APCO算法的功能测试用例生成方法,本文研究了以下几个方面:1、采用JNI技术对功能测试脚本进行录制。通过JNI技术将测试人员对移动端屏幕的操作事件直接转换成测试脚本,然后将基于坐标的脚本转换成基于控件信息的脚本。基于控件信息的脚本内容是将事件操作与控件信息相匹配,以便测试人员可以编辑测试脚本,并从控件的执行顺序中提取出功能测试过程中的基准路径。2、本文生成的测试用例是由操作事件与输入数据两部分组成的,在不同的Android设备上,同一款App生成的测试用例脚本不需要二次编辑就可以直接应用。对于不同的App,只需要对输入数据进行修改就可以继续使用,解决了功能测试用例可复用性低的问题。3、采用ADB工具和Socket套接字相结合的方式,保证PC端和移动端的连接并实现传输数据;采用MonkeyRunner工具通过shell命令模拟测试人员对移动端的操作,将功能测试用例应用到测试设备上,并反馈功能测试生成的结果。最后,以基于APCO算法的功能测试用例生成方法为基础实现了一款用于Android系统应用程序的原型工具Framework-tools,Framework-tools工具可以为大中小型应用软件提供功能测试服务。并对Framework-tools工具进行时效性、全面性、可复用性的测试。测试结果符合本文的预期结果,满足功能测试用例生成方法的预期要求。