Android单元测试实践

embedded/2024/9/25 5:25:30/

一、基础概念

按照Google官方建议,Android测试体系应该参照测试金字塔架构(如下图所示),App应该包含三类测试(即小型、中型和大型测试)。

图片

  • 小型测试是指单元测试,用于验证应用的行为,一次验证一个类。
  • 中型测试是指集成测试,用于验证模块内堆栈级别之间的交互或相关模块间的交互。
  • 大型测试是指端到端测试,用于验证跨越了应用的多个模块的用户UI点击操作流程。
    沿着金字塔逐级向上,从小型测试到大型测试,各类测试的保真度(对于用户的真实感受)逐级提高,但维护和调试工作所需的执行时间和工作量也逐级增加。因此,我们编写的单元测试应多于集成测试,集成测试应多于端到端测试。虽然各类测试的比例可能会因应用的用例不同而异,但我们通常建议各类测试所占比例如下:小型测试占 70%,中型测试占 20%,大型测试占 10%。

二、测试框架介绍

2.1 基础框架:JUnit

JUnit – About

JUnit是一个Java语言的单元测试框架。Junit测试是程序员测试,即所谓白盒测试,因为我们知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit


http://www.ppmy.cn/embedded/44092.html

相关文章

ChatGLM2-6B 模型基于 [P-Tuning v2]的微调

ChatGLM2-6B-PT 一、介绍 1、本文实现对于 ChatGLM2-6B 模型基于 [P-Tuning v2](https://github.com/THUDM/P-tuning-v2) 的微调 2、运行至少需要 7GB 显存 3、以 [ADGEN](https://aclanthology.org/D19-1321.pdf) (广告生成) 数据集为例介绍代码的使用方法。 模型部署参考…

基于文本来推荐相似酒店

基于文本来推荐相似酒店 查看数据集基本信息 import pandas as pd import numpy as np from nltk.corpus import stopwords from sklearn.metrics.pairwise import linear_kernel from sklearn.feature_extraction.text import CountVectorizer from sklearn.feature_extrac…

Python 根据点云索引提取点云

点云索引滤波 一、介绍1.1 概念1.2 参数设置二、代码示例三、结果示例一、介绍 1.1 概念 点云索引滤波 是一种常用的点云滤波方法,根据给定的索引列表获取点云中的索引点,或着根据给定的索引列表获取点云中的非索引点。 1.2 参数设置 核心函数: def select_by_index(self, …

自动化测试实践:揭秘WebSocket在接口测试中的应用

如何写接口自动化?这个问题,但凡涉足过自动化测试的人员都能娓娓道来。Requests、urlib、jmeter、curl等等,不在话下。那么,如何获取接口的url、参数、响应等信息呢?!答案就更是随口而出:看接口…

golang内置包strings和bytes中的Map函数的理解和使用示例

在go的标志内置包strings和bytes中都有一个函数Map, 这个函数的作用是: 将输入字符串/字节切片中的每个字符使用函数处理后映射后返回一份字符串/字节切片的副本,如果函数中的某个字符返回负数则删除对应的字符。 作用很简单,当时对于新手来…

香橙派华为昇腾CANN架构编译opencv4.9

香橙派华为升腾AI盒子 为啥要编译opencv4.9.0, 因为在4.9.0 中增加了华为昇腾CANN的外接开发库,下图为盒子外观,此次一接到这个盒子,立刻开始开箱操作,首先就是要编译opencv4.9,以前在香橙派3588 的盒子中…

10最佳iPhone数据恢复软件评论

您还在寻找最好的iPhone数据恢复软件吗? 似乎我们在iPhone上放置了越来越多与日常生活和工作有关的重要事情。照片可以保持珍贵的时刻,联系人可以保持联系,录音,备忘录和日历可以作为提醒,视频和歌曲可以娱乐&#xf…

【HarmonyOS尝鲜课】- 前言

面向人群 本课程适用于HarmonyOS应用开发的初学者。 有无经验的开发者都可以轻松掌握ArkTS语言声明式开发范式,体验更简洁、更友好的HarmonyOS应用开发旅程。 什么是HarmonyOS HarmonyOS(鸿蒙操作系统)是由华为技术有限公司开发的全场景分…