龙测科技发布一款软件深度智能测试SaaS平台。它是一个用软件找软件功能Bug的平台。它针对所有主流软件,包括Web,安卓/iOS,小程序等。三位软件测试方向美国博士共同打造,其核心是基于模型的数据驱动测试代码自动生成引擎。目前客户包括小米,清华同方,中国电信等独角兽或世界500强公司。
基于UI的功能测试是软件测试领域中的重点内容,也是测试过程中花时间和资源最多的(约占总测试的70%左右)部分,尤其是迭代阶段的回归测试。目前以手工测试为主的窘况(速度慢、测试不完整、成本高、效果差)难以满足快速开发的现实要求,而提供快速高效的自动化测试方案是解决上述窘况最有效的方法之一。
龙测科技推出了两款基于UI的自动化测试产品:龙测1号(半自动化)和龙测2号(定制全自动化)。这两款产品采用全球领先的测试代码生成器技术,突破“手工编写测试代码”的难点,实现了业务流程的全覆盖、路径自动分析、快速生成基于UI的测试代码、自动运行并生成测试报告等功能,达到快速、高效、低成本的测试目的。 本产品线适用于手机App、SaaS、PC等应用场景,以自身的测试代码生成引擎技术为核心,同时兼容各种主流UI测试框架,为用户提供更先进高效的测试手段和解决方案。
模型构建有两种方式,人工构建(下面左图)和定制全自动化构建(下面右图)。
人工构建是基于对软件的理解和动态分析,手工建立出两两页面之间关系,进而构成一个完整的业务流程图。
定制全自动化构建分2个步骤,预处理和程序静态分析。预处理是把手机App安装包抽取其中的应用代码;而程序静态分析是根据手机平台API的语义定义新型代码语义推到及解释进而构建两两页面关系,最终构成一个完整的业务流程图。
下面是构建的部分业务流程图(以小米贷款App为例):
路径分析根据业务流程图产生实例化的业务流程,包括各种功能组合。下面是以小米贷款App的部分具体业务流程为例。
1. 登录注册页面 --- click ---> 登录 ---> 登录小米账号页面 --- click ---> 登录 ---> 主页面 --- click ---> 去借钱 ---> 去借钱 ---> 立即贷款页面
2. 登录注册页面 --- click ---> 登录 ---> 登录小米账号页面 --- click ---> 登录 ---> 主页面 --- click ---> 我的信用 ---> 去借钱 ---> 信用分维护中页面
3. 登录注册页面 --- click ---> 登录 ---> 登录小米账号页面 --- click ---> 登录 ---> 主页面 --- click ---> 去借钱 ---> 我的红包 ---> 红包页面
下面是针对上面第一个业务流程,机器写的测试代码:
龙测1号产生的测试代码
final View VIEW_725 = findViewByTextAndType(“登录”,“ImageView”);//登录
solo.clickOnView(VIEW_725);
solo.sleep(2000);
final View VIEW_726 =
solo.getText(“登录”);//登录
solo.clickOnView(VIEW_726);
solo.sleep(2000);
final View VIEW_727 = solo.getText(“去借钱”);//去借钱
solo.clickOnView(VIEW_727);
solo.sleep(2000);
针对版本迭代的bug趋势图以及测试用例个数趋势图:
所有测试用例通过与否的报告,以及记录的每个测试执行过程:
NO. | Inputs | Scenarios | Snapshots | Assertions | Statuses |
TC 1 | titleEdit contains:test… | MainActivity-->click(ImBtn:newNote)-->EditActivity-->click()-->DIALOG-->click(Bth:No)-->EditActivity | N/A | OK | |
TC 2 | titleEdit contains:test… | MainActivity-->click(ImBtn:newNote)-->EditActivity-->click()-->DIALOG-->click(Bth:Yes)-->EditActivity | N/A | OK | |
TC 3 | titleEdit contains:test… | MainActivity-->click(ImBtn:newNote)-->EditActivity-->click()-->DIALOG-->click(Bth:No)-->EditActivity | N/A | OK | |
TC 4 | titleEdit contains:test… | MainActivity-->click(ImBtn:newNote)-->EditActivity-->click()-->DIALOG-->click(Bth:Yes)-->EditActivity | N/A | OK |
速度快
覆盖率高
效果好
成本低
测试代码编写效率极大提高(机器自动生成测试代码并运行,代替耗时长的人工编写测试代码方式):
类别 | 大公司测试部门 | 龙测1号 | 龙测2号 |
部门人员 | 5-10人 | 1-2人 | 0-1人 |
写测试代码效率 | 2-3个/天 | >100个/天 | >100个/分钟 |
业务流程 | 需要设计 | 不需要设计 | 不需要设计 |
重新测试快,运行时间短(与主流众测平台比对):
类别 | 百度MTC/云测众测平台 | 龙测1号 |
人力投入 | 3~5人 | 1-2人 |
重新测试 | 重新组织测试人员,重新收费并重新花几天时间来测试 | >客户完全可以免费重新运行之前生成的测试代码 |
运行时间 | 工作时间 | 24小时×7天 |
高覆盖率 | 几百个测试用例 | 几百,上千甚至上万测试用例 |
目前所有公司的测试,根据需求,针对每个模块,都是通过人工进行独立设计,但是对跨模块的组合业务流程,很难人工设计。而对于龙测,其根据软件UI关系浓缩出业务流程图,系统化的生成针对单个功能模块以及对于跨模块的爆炸组合的各种业务流程,快速生成测试用例。
类别 | 其他公司 | 龙测 |
测试用例个数 | 几十/几百个 | 几百个/上千/上万个 |
模块组合 | 覆盖少 | 覆盖非常多(仅局限于时间和计算资源) |
系统性 | 不系统 | 系统生成测试用例,并且数字化展示测试用例的覆盖率设计 |
目前所有公司的测试,根据需求,针对每个模块,都是通过人工进行独立设计,但是对跨模块的组合业务流程,很难人工设计。而对于龙测,其根据软件UI关系浓缩出业务流程图,系统化的生成针对单个功能模块以及对于跨模块的爆炸组合的各种业务流程,快速生成测试用例。
类别 | 手工测试公司(90%) | 手写测试代码公司(10%) | 龙测-机器写测试代码 |
回归测试 | 手工执行,有偏差 | 代码执行,无偏差 | 代码执行,无偏差 |
测试代码维护 | 无 | 在代码层面手工维护,维护量大工作量大 | 模型层面维护(一般变化不大),量小工作量小 |
分析定位问题 | 人工肉眼观察运行,并截图 | 自动录制,但需手工加录制功能的测试代码,增加工作量,人工写代码速度慢 | 自动录制,而且测试代码自动加录制功能,写代码非常快 |
发现问题 | 一般 | 一般 | 量大容易发现问题 |
以下比较是以App的复杂度为例,如果针对SaaS以及PC更复杂应用软件,那么成本差距会更大。
类别 | 大中型公司测试部门 | 龙测1号 | 龙测2号 |
测试代码开发时间 | 几十/上百人天 | 数人天 | 数分钟 |
测试开发工程师人数 | 5-10人 | 1-2人 | 0-2人 |
龙测SaaS产品功能报价(2019/05) |
||
标准版 |
专业版 |
|
价格 |
免费 |
联系当地经销商 |
被测软件类型 |
||
Android应用APP |
✔ |
✔ |
Web应用软件 |
✔ |
✔ |
IOS应用APP |
× |
✔ |
PC软件 |
× |
✔ |
功能 |
||
手工画业务流程图 |
✔ |
✔ |
支持测试自动化框架类型 |
Appium/Selenium |
Appium/Selenium |
支持编程语言 |
Java/Python |
Java/Python |
自动生成可执行的测试代码 |
✔ |
✔ |
测试项目管理 |
✔ |
✔ |
测试代码智能记忆 |
✔ |
✔ |
测试截图 |
✔ |
✔ |
测试聚焦节点设置 |
✔ |
✔ |
生成测试报告次数 |
20 |
包月以上套餐不限次数或者50元/次 |
下载测试代码次数 |
20 |
包月以上套餐不限次数或者50元/次 |