安卓自动化测试总结(二)--升级及升级数据测试

无论进行什么测试,每次升级都要测试几次,并且需要验证升级后的数据,是否和升级前一致。我们的病历夹和医口袋APP都有这样的要求。因此思考,如果使用自动化,如何解决这类频繁进行的回归测试问题。

使用自动化,可以进行的升级

升级测试包括:

1、一个或几个旧版本,升级到最新版本:Vx -> Vn

2、一个或几个旧版本,经过一个或几个较新的版本,升级到最新版本:Vx -> 。。。 -> Vn

进行的验证包括:

1、升级前,完成某些回归功能的测试;升级后,确认从前正常的功能,升级后仍可正常使用

2、升级前,某些回归功能记录的测试结果,在升级后(或者覆盖安装,或者卸载安装),这些回归功能的结果,都能够找到且保持一致。

升级测试的方法

1、升级测试:测试升级前后,回归功能都正常

adb install -r xxx1.apk(安装自动化APP)

adb install -r xxx2.apk(安装被测APP的旧版本,如病历夹或医口袋)

adbshell am instrument -e classcom.xsltest.framework.MedSuite-exmlname testcasexxx-wcom.xsltest.framework/com.xsltest.framework.MyTestRunner(运行测试用例,testcasexxx为测试用例名称)

adb install -r xxx2.apk(覆盖安装被测APP的新版本)

adbshell am instrument -e classcom.xsltest.framework.MedSuite-exmlname testcasexxx-wcom.xsltest.framework/com.xsltest.framework.MyTestRunner(重新运行升级前的测试用例)

2、升级数据测试:测试升级后,升级之前的数据,在升级之后是否仍然存在

前4步和升级测试一样,第5步改为运行包含验证之前用例结果的测试用例

3、卸载旧版本,安装新版本,验证数据是否仍存在

adb install -r xxx1.apk(安装自动化APP)

adb install -r xxx2.apk(安装被测APP的旧版本,如病历夹或医口袋)

adb shell am instrument -e class com.xsltest.framework.MedSuite-e xmlname testcasexxx-wcom.xsltest.framework/com.xsltest.framework.MyTestRunner(运行测试用例,testcasexxx为测试用例名称)

adb uninstall com.apricotforest.dossier (卸载APP,本例使用病历夹)

adb install -r xxx2.apk(安装被测APP的新版本)

adb shell am instrument -e classcom.xsltest.framework.MedSuite-exmlname testcasexxx2-wcom.xsltest.framework/com.xsltest.framework.MyTestRunner(运行对之前的测试结果进行验证的用例脚本)

4、对于多次升级,需要进行多次覆盖安装,并运行相应的脚本,即可完成多次升级测试。

升级数据测试的思想

升级测试时,经常在升级后看看之前的数据是否存在,人工验证比较重复,而且相对比较麻烦,因为经常不能准确复述上次的测试输入是什么,只能给出大概、可能是这样的结论。

而自动化由于可以记录之前的结果,并进行比较,所以比人工更适合数据校对。

在自动化功能测试中,病历内容输入的测试用例的结果是这样记录的,这些结果存在excel中:

安卓自动化测试总结(二)--升级及升级数据测试_第1张图片

输入字段名和输入内容,是在界面自动测试时,记录的输入数据;验证字段名和验证内容,是重新打开界面,查看输入的数据是否都能找到对应值,一致则该测试用例通过。

我们验证数据时,可以继续把输入字段和输入内容作为数据,不进行对应的界面操作,但仍然像进行界面自动化时一样,记录到相同的变量中;升级后,则像验证界面输入的数据一样打开界面进行验证,如果一致,则说明升级未影响数据的正确性。

由于同一测试用例可执行多次,我们也同样能验证多种同类型数据在验证后是否都一致。

通过回归功能测试,以及回归时验证之前的数据是否正确,我们可以实现在封版后,使用自动化用例来确认上线后,回归功能都能使用,以及升级后的数据也都正确,来提高回归测试的效率和质量。

你可能感兴趣的:(安卓自动化测试总结(二)--升级及升级数据测试)