移动测试智能化实践

简介: monkey、遍历、功能测试想必大家都不陌生,monkey随机性强能够发现隐藏的问题但是随机性强,不可控,效率低;遍历流程可控,但是往往需要较高的时间成本编写维护相关脚本。MQC在自动化测试领域耕耘多年,在充分吸取各种测试方式优点的情况下,为兼容性测试打造了全新的测试工具Ripper。

monkey、遍历、功能测试想必大家都不陌生,monkey随机性强能够发现隐藏的问题但是随机性强,不可控,效率低;遍历流程可控,但是往往需要较高的时间成本编写维护相关脚本。MQC在自动化测试领域耕耘多年,在充分吸取各种测试方式优点的情况下,为兼容性测试打造了全新的测试工具Ripper。  我们将与大家分享MQC是如何利用现有的数据来提升测试效率;如何智能化的操作App;如何有效的去定位bug。

一、应用质量 & 开发速度

大多数公司在App开发的同时往往有三方面的考虑,时间成本、开发成本、失败成本。

•与时间赛跑
•开发成本
•失败成本

二、测试现状 & 痛点

人工测试

•重复性工作多,测试速度慢
•需要关注的点多,QA成本高

自动化功能测试

•变化快,需要经常性修改,维护成本高
•流程重复,难以发现crash
•用例失败原因往往是脚本或是设置问题

三.兼容性测试工具

兼容性测试Monkey

•动作不可控,覆盖程度低
•测试耗时长
•开发定位问题困难

兼容性测试 遍历

•提高检测覆盖度
•缺少具体的业务场景
•缺少问题定位

兼容性测试 ripper

•更多的动作:多指操作(缩放)、连击、中文输入
•精确控制,高并发,测试效率高
•Perftool
•场景

四、兼容性测试能力对比

为了对比Ripper与monkey 的测试效果,我们编写了一个包含各种控件(viewpager、listview、fragment、imageview等等)的属性页面结构App。

image

image

image

五、兼容性测试特点

image

image
•Anr

       KeyDispatchTimeout

•IllegalStateException

       Fragment already added
       50 ~ 200ms  

六、兼容性测试弱场景

image

•控件(语义、类型)
•弹窗

七、兼容性测试 功能场景

•为数十万app提供测试服务
•数百万页面
•缩放,连击
•视频切换,方向切换
•登录,注册,反馈
•快速遍历

image

八、兼容性测试 问题复现与定位

无法复现的bug是没有价值的。相信大家常常会因为无法定位问题、复现问题而无法有效修复bug,MQC在测试App质量的同时提供了Crash定位、Crash解决方案来辅助开发修复bug。

image

九、兼容性测试 解决方案

image

十、兼容性测试 畅想

  • 业务场景测试(金融、社交、购物),定制化的测试工具
  • 测试环境模拟(弱网、低电量、gps)
  • Ui 问题自动化检测
目录
相关文章
|
1月前
|
安全 Linux 测试技术
提升龙蜥内核测试能力!探究持续性模糊测试优化实践
清华大学软件学院对Anolis OS使用靶向模糊测试方法将测试工作引向修改的代码,进而提高对业务代码的测试能力。
|
2天前
|
敏捷开发 测试技术 持续交付
深入理解自动化测试:框架与实践
【5月更文挑战第5天】 在现代软件开发周期中,自动化测试已成为确保产品质量和加速交付过程的关键环节。本文将深入探讨自动化测试的核心概念、框架选择以及实际实施过程中的最佳实践。通过分析各种自动化测试工具和技术的优缺点,我们旨在为读者提供一种系统化的方法来构建和维护有效的自动化测试环境。
|
6天前
|
机器学习/深度学习 人工智能 算法
深入理解与实践:基于AI的软件测试自动化
【5月更文挑战第1天】随着人工智能的不断发展,其在软件测试中的应用也日益广泛。本文将探讨如何利用AI进行软件测试自动化,包括其理论基础、实现方式以及在实际中的应用。我们将通过实例分析,展示AI在提高软件测试效率和质量方面的巨大潜力。
|
7天前
|
中间件 测试技术 API
探索自动化测试工具的新边界:Selenium与Appium的集成实践
【4月更文挑战第30天】 随着移动应用和Web应用的不断融合,传统的自动化测试工具需要适应新的测试环境。本文将详细分析Selenium和Appium这两款流行的自动化测试工具的集成实践,探讨如何构建一个能够同时支持Web和移动端应用的自动化测试框架。通过对比两者的技术架构、功能特性以及在实际项目中的集成过程,我们旨在为读者提供一个清晰的指导,帮助他们在复杂的应用环境中实现高效、稳定的自动化测试流程。
|
7天前
|
机器学习/深度学习 人工智能 数据管理
深入探索自动化测试框架的设计与实践
【4月更文挑战第30天】 随着软件行业的快速发展,传统的手动测试方式在效率和可靠性方面逐渐暴露出不足。本文将重点探讨自动化测试框架的设计理念、关键组成部分以及实际应用中的挑战与解决方案。通过对自动化测试框架的深入研究,我们旨在为读者提供构建高效、可靠的自动化测试系统的指导和启示。文章首先分析了自动化测试的重要性,接着详细介绍了几种流行的自动化测试工具,并以此为基础提出了设计框架的核心原则和架构模式。最后,通过案例研究,展示了如何在实际项目中实施自动化测试框架,并讨论了面临的常见问题及解决策略。
|
7天前
|
机器学习/深度学习 人工智能 机器人
深入理解自动化测试:框架、工具与实践
【4月更文挑战第30天】 在现代软件开发周期中,自动化测试已成为确保产品质量和加速市场交付的关键环节。本文将探讨自动化测试的核心框架、常用工具以及实际应用的最佳实践,旨在为软件测试工程师提供深入的理解和有效的策略,以改进其自动化测试流程。我们将分析几种流行的测试自动化框架,包括Selenium、Appium和JUnit,并讨论如何根据项目需求选择适合的工具。此外,文中还将介绍持续集成(CI)环境下的自动化测试策略,以及如何通过测试结果分析和报告来优化测试过程。目标是帮助读者构建更健壮、更高效的自动化测试系统。
|
8天前
|
敏捷开发 机器学习/深度学习 Java
Java中的异常处理机制深入理解与实践:持续集成在软件测试中的应用探索自动化测试在敏捷开发中的关键作用
【4月更文挑战第29天】在Java编程中,异常处理是一个重要的概念。它允许开发者在程序执行过程中遇到错误或异常情况时,能够捕获并处理这些异常,从而保证程序的稳定运行。本文将详细介绍Java中的异常处理机制,包括异常的分类、异常的处理方式以及自定义异常等内容。 【4月更文挑战第29天】 随着敏捷开发和DevOps文化的兴起,持续集成(CI)已成为现代软件开发周期中不可或缺的一环。本文将探讨持续集成在软件测试领域内的关键作用、实施策略以及面临的挑战。通过对自动化构建、测试用例管理、及时反馈等核心要素的详细分析,揭示持续集成如何提高软件质量和加速交付过程。 【4月更文挑战第29天】 在当今快速发
|
8天前
|
Java 测试技术 Shell
单元测试3.0实践之Golang质量生态建设
研发是否必须写单测?文章提到,单元测试对于确保代码质量、提高软件可靠性至关重要。在顶级互联网公司中,单元测试被认为是必要的,因为它能快速执行、降低维护成本,并能发现代码中的问题。文章还讨论了Go语言中单元测试的优化,如支持不同版本的Go、提高测试覆盖率、处理并发问题等。此外,文章介绍了一个用于Go语言单元测试的插件,该插件可以集成到持续集成流程中,提供详细的测试报告和覆盖率信息。通过这个插件,团队可以方便地管理和执行单元测试,提升开发效率和代码质量。
|
8天前
|
敏捷开发 设计模式 Devops
深入探索自动化测试框架的设计原则与实践
【4月更文挑战第29天】在追求软件开发效率和质量的当下,自动化测试成为确保软件可靠性的关键步骤。本文旨在剖析构建高效自动化测试框架的设计原则,并通过具体实例展示如何在实际项目中应用这些原则以提高测试效率和准确性。文章首先介绍了自动化测试的重要性及其对持续集成/持续部署(CI/CD)流程的贡献,随后详细探讨了模块化、可扩展性、易用性和可维护性四个核心设计原则。最后,通过一个案例研究,演示了如何将这些原则融入到自动化测试框架的构建中,以及实施后的效果评估。
10 1
|
10天前
|
jenkins 测试技术 持续交付
深入探索软件测试中的持续集成与自动化测试实践
【4月更文挑战第27天】 在当今软件开发的快速迭代过程中,持续集成(CI)和自动化测试已成为确保代码质量和加快交付速度的关键因素。本文将探讨如何通过实施持续集成流程,并结合自动化测试策略来优化软件测试工作。我们将分析持续集成的原理、自动化测试的最佳实践以及如何将这些方法应用于实际项目中,旨在为读者提供一套完整的解决方案,以提高软件项目的效率和质量。
13 3

热门文章

最新文章