1.一种由至少一个电子设备执行的用于使用灵活后处理进行应用分析的方法,所述方法包括:
加载要分析的应用;
获得包括多个测试用例的测试套件,每个测试用例对应于所述应用的至少一个特征;
从用户交互角度爬取所述应用,包括:
基于所述测试套件的所述多个测试用例激活用户交互元素,以使所述应用产生多个用户界面ui屏幕;以及
确定由所述应用产生的多个应用状态,每个相应的应用状态对应于所述多个ui屏幕中的相应ui屏幕;
基于所述多个应用状态生成工件集合;以及
处理所述工件集合以调查与所述应用的操作有关的多种问题类型。
2.根据权利要求1所述的方法,其中,所述处理包括:
将多个后处理器应用于所述工件集合,每个相应的后处理器被配置为调查所述多种问题类型中的相应问题类型;以及
基于所述应用,由所述多个后处理器中的相应后处理器产生多个报告中的相应报告,每个相应报告对应于相应后处理器的相应问题类型。
3.根据权利要求2所述的方法,其中,所述应用包括:由所述多个后处理器中的所述相应后处理器基于至少一个过滤器从所述工件集合中提取与所述相应后处理器的相应问题类型相关的相应状态数据。
4.根据权利要求2所述的方法,其中,所述应用包括:由所述多个后处理器中的至少一个后处理器基于一个或多个规则来评估所述多个ui屏幕中的每个ui屏幕的用户交互元素。
5.根据权利要求1至4中的任一项所述的方法,其中,所述激活包括模拟以下中的至少一个:按下虚拟按钮、在框中输入文本或沿着屏幕滑动。
6.根据权利要求1至5中的任一项所述的方法,其中,所述确定包括:将激活的用户交互元素从所述多个ui屏幕中的第一ui屏幕导航到所述多个ui屏幕中的第二ui屏幕。
7.根据前述权利要求中的任一项所述的方法,其中,所述处理包括:
从由多个后处理器报告的多个问题中确定多个选择的问题;
执行至少包括所述多个选择的问题的重复数据删除操作,以删除重复的问题;以及
基于所述重复数据删除操作生成问题报告。
8.根据前述权利要求中的任一项所述的方法,其中,所述生成包括:生成具有多个节点的有向图,每个相应的节点对应于所述多个应用状态中的相应应用状态以及所述多个ui屏幕中的相应ui屏幕。
9.至少一个用于实现使用灵活后处理进行应用分析的电子设备,所述电子设备包括:
一个或多个处理器;以及
一个或多个计算机可读存储介质,存储由所述一个或多个处理器可执行的指令,所述计算机可读存储介质包括:
被配置为提供多个特征的应用;
包括多个测试用例的测试套件,每个测试用例对应于所述多个特征中的至少一个特征;
被配置为使用所述测试套件执行所述应用的应用运行器,所述应用运行器包括:
应用爬取器,被配置为从用户交互角度遍历所述应用并基于所述测试套件提供元数据;以及
工件生成器,被配置为基于所述元数据生成工件集合;以及
被配置为访问所述工件集合的多个后处理器,每个相应的后处理器被配置为使用所述工件集合来调查与所述应用的操作有关的多种问题类型中的相应问题类型。
10.根据权利要求9所述的电子设备,其中,所述元数据指示跨所述多种问题类型的所述应用的操作性能,并且所述工件集合包括有向图。
11.根据权利要求9或10所述的电子设备,其中:
所述应用爬取器包括:
用户仿真器,被配置为基于所述多个测试用例激活多个用户界面ui屏幕的用户交互元素;以及
状态确定器,被配置为从所述多个ui屏幕确定多个应用状态,并确定所述多个应用状态中的每个应用状态的所述元数据;以及
所述工件集合根据所述多个应用状态被组织。
12.根据权利要求9至11中的任一项所述的电子设备,其中,所述应用运行器包括后处理器接口,所述后处理器接口被配置为将所述工件集合暴露给与新问题类型相对应的新后处理器,而无需测试套件更新。
13.根据权利要求9至12中的任一项所述的电子设备,其中,所述多个后处理器包括:
用户界面后处理器,被配置为基于至少一个ui规则,响应于所述多个ui屏幕中的每个ui屏幕的外观,评估所述工件集合,以检测用户界面问题;
可访问性后处理器,被配置为基于至少一个可访问性规则来评估所述工件集合以检测可访问性问题;以及
内存使用后处理器,被配置为基于至少一个存储器使用阈值来评估所述工件集合以检测内存使用问题。
14.根据权利要求9至13中的任一项所述的电子设备,其中,所述工件集合包括:
有向图,所述有向图包括多个节点和分别指向所述多个节点的成对节点之间的多个边,每个节点分别对应于所述多个ui屏幕中的一个ui屏幕,并且每个边分别表示实现从所述多个ui屏幕中的第一ui屏幕过渡到所述多个屏幕中的第二ui屏幕的用户交互。
15.根据权利要求9至14中的任一项所述的电子设备,其中,所述多个后处理器中的后处理器包括:
遍历模块,被配置为遍历所述工件集合以获得从所述元数据导出的多个应用状态;
提取模块,被配置为基于至少一个过滤器提取遍历的应用状态,所述至少一个过滤器被调整到与所述后处理器相对应的问题类型;
评估模块,被配置为基于针对与所述后处理器相对应的所述问题类型的至少一个规则来评估所提取的应用状态;以及
报告产生模块,被配置为使用所评估的应用状态来产生报告,所述报告指示与对应于所述后处理器的问题类型有关的伴随所述应用的操作的一个或多个问题。
16.根据权利要求15所述的电子设备,其中,所述多个后处理器中的另一个后处理器包括:
选择模块,被配置为基于上限阈值或排序标准中的至少一个从所述报告中包括的所述一个或多个问题中确定多个选择的问题;
重复数据删除模块,被配置为所述从多个选择的问题中删除重复问题以产生重复数据删除结果;以及
报告产生模块,被配置为基于所述重复数据删除结果产生问题报告。
17.至少一个用于实现使用灵活后处理进行应用分析的电子设备,所述电子设备包括存储处理器可执行指令的一个或多个计算机可读存储介质,所述处理器可执行指令响应于一个或多个处理器的执行而使所述电子设备执行操作,所述操作包括:
运行要分析的应用;
基于测试套件,模拟用户交互元素的激活,以使所述应用产生多个用户界面ui屏幕;
确定由所述应用产生的多个应用状态,每个相应的应用状态对应于所述多个ui屏幕中的相应ui屏幕;
基于所述多个应用状态生成工件集合,所述工件集合包括针对所述多个应用状态中的每个应用状态的所述多个ui屏幕中的ui屏幕;
使用第一后处理器处理所述工件集合,以调查与所述应用的操作有关的第一问题类型;以及
基于所述处理,产生与所述第一问题类型相对应的第一报告。
18.根据权利要求17所述的电子设备,其中:
响应于所述一个或多个处理器的所述执行,所述处理器可执行指令使所述电子设备执行操作,所述操作进一步包括:
使用第二后处理器来处理所述工件集合,以调查与所述应用的操作有关的第二问题类型;以及
基于使用所述第二后处理器处理所述工件集合,产生与所述第二问题类型相对应的第二报告;
所述第一问题类型包括选自包括可访问性问题、ui问题、内存使用问题、字符串压缩问题、稳定性问题或网络使用问题的组的问题;以及
所述第二问题类型包括选自所述组的不同问题。
19.根据权利要求17或权利要求18所述的电子设备,其中:
所述工件集合包括具有多个节点的有向图,每个节点对应于所述多个ui屏幕中的一个ui屏幕以及所述多个应用状态中的一个应用状态;
使用所述第一后处理器处理所述工件集合以调查所述第一问题类型包括:
从所述多个节点中的节点到节点遍历所述有向图;
基于根据所述第一问题类型调整的过滤器,从多个ui屏幕和所遍历的节点的所述多个应用状态中提取状态数据;以及
评估所提取的状态数据,以确定对应于所述第一问题类型的一个或多个规则的至少一个违反;以及
产生与所述第一问题类型相对应的所述第一报告包括基于所评估的状态数据产生所述第一报告以包括针对至少一个确定的违反的条目。
20.根据权利要求17至19中的任一项所述的电子设备,其中,使用所述第一后处理器处理所述工件集合以调查所述第一问题类型包括:
使用所述第一后处理器处理所述工件集合以调查第一问题类型,所述第一后处理器被配置为基于所述第一问题类型来过滤所述工件集合;
更新所述第一后处理器的一个或多个参数;以及
使用所更新的第一后处理器处理所述工件集合以调查所述第一问题类型。