移动端APP 如何进行自动化和探索性测试?

在测试设计时最主要依据的就是测试金字塔的测试结构。如果在项目临近发布才开始测试并发现缺陷,这样修复缺陷的成本就会很高,项目的进度也会很不确定。所以,就开发阶段来说,如果把测试分层,在不同的开发阶段都进行测试,能很大程度上缓解这些问题。

测试分层的优势有以下几点:

  • 测试的成本

单元测试的开发成本要远低于用户界面测试,如果在用户界面的测试中发现缺陷,修复缺陷的成本也是远高于通过单元测试和组件测试的成本。

这里的成本不单纯是开发人员修复缺陷所需要的资源和时间,还包括缺陷修复后测试人员进行回归测试所需要的资源和时间,以及项目延期等其他项目成本。

  • 测试的效率

单元测试能很快地验证很小的功能或者方法,且运行时间短,反馈更为及时。

  • 缺陷定位的难易

单元测试失败后,测试人员能够很容易知道是被测试的特定功能或者方法不正确;而如果是用户界面的缺陷,测试人员就需要花费更多的时间来进行排查,确定出现问题的功能模块,最后再进一步发现需要修复的功能和方法。

  • 反映真实的业务需求

单元测试无法从全局观的角度了解系统模块之间的交互,也无法通过方法的组合帮助用户完成业务目的;而由于用户界面的测试描述的是从用户角度出发的用户使用场景,因此可以更容易地阐述用户的行为和业务需求。

  • 更加接近业务

用户界面测试描述测试的层级更高,所以更接近业务;单元测试描述测试的层级更具体,所以更接近于实现。

从测试金字塔分层来看,不同层级的测试都很有必要,而我们也需要根据不同测试所处的层级及其特点来设计测试。

另外,实际测试设计时采用的测试金字塔具有更多更细节的分层。高层级的测试和低级别的测试相比,抽象程度更高,测试运行的时间更长,与更多的系统和模块有交互。反馈的周期更长,接近缺陷的成本也更高。

单元和组件测试的测试驱动开发TDD的基本循环步骤是:

  • 测试失败

  • 测试通过

  • 重构

由于测试驱动开发是针对单元和组件测试所使用的开发技术,所以在进行单元和组件测试时,测试人员只需要了解并评审开发人员在单元和组件测试中覆盖了哪些场景,并不需要完成其实现。

在测试金字塔的最高层级,是对于App的"探索性测试"。

1.探索性测试是针对于脚本测试提出的,但是两者并不是针锋相对的,而是相辅相成的。探索性测试,脚本测试和自动化测试之间可以相互转化,相辅相成。

2.探索性测试要求测试人员在执行测试时,如同用户旅程一样,首先设定好测试目标,然后规划出一段时间,使用启发式测试策略模型,通过测试人员的创造性思维,采取不同的测试路径,来达到测试目标的测试方法。

3,在探索性测试执行中,为了提高探索性测试的效率,并且能够重现所发现的问题,可以采用基于测程的测试管理。在App测试中也可以使用SBTM技巧进行探索性测试。

4,针对App测试,测试人员需要测试在低层级测试中不能覆盖的对于页面跳转和不同页面间数据流动和展示等需要涉及到多个页面的流程操作。

5,当进行App的探索性测试时,选择在真实设备上运行可以提高测试的真实性和加深对于用户使用场景的理解,从而不断促进探索性测试的发展和深入。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

相关推荐
Kapaseker12 分钟前
别再只会写 <T>:Kotlin 泛型的实战用法
android·kotlin
张张123y17 分钟前
后端第十一课:RAG 落地实战(从 0 到 1 接上私有知识库,并设计一个好用的 RAG)
开发语言·人工智能·python·机器学习·fastapi·rag
golang学习记22 分钟前
Python vs Go:2026年到底该怎么选
java·vscode·python·golang·pycharm·goland
FlightYe28 分钟前
音视频修炼之容器与协议(一):MP4和MOV的box剖析
android·linux·c++·ffmpeg·音视频
江厌0137 分钟前
移动工作站还是塔式?用三个数判断工位形态,再谈配置
python·移动工作站·塔式工作站·工作站选型·isv认证
川石课堂软件测试42 分钟前
涨薪技术|0到1学会性能测试第8课-Analysis分析图
服务器·数据库·python·sql·jmeter·mysql·容器
学编程的小程1 小时前
服务器日志太分散不好查?我用Promtail+Loki+Grafana把采集、查询和分析串起来了
服务器·python·grafana
云水初1 小时前
【项目篇】基于LanGraph的自动处理客服邮件的 Agent汇总
开发语言·笔记·python·学习·fastapi·langgraph
香吧香1 小时前
venv 详解
python