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

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

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

  • 测试的成本

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


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

  • 测试的效率

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

  • 缺陷定位的难易

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

  • 反映真实的业务需求

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

  • 更加接近业务

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

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

图片

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

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

  • 测试失败

  • 测试通过

  • 重构

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

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

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

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

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

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

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

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

软件测试面试文档

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3246210.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

IIS短文件名称POC检测

使用方法 安装python环境 执行此文件 python [命名].py -u http://baidu.com #!/usr/bin/env python # -*- encoding: utf-8 -*- """ File : IIS-ShortName-PoC.py tell : 用于安全人员检测系统是否存在该漏洞,切勿用于非法用途 "…

分类预测 | Matlab实现OOA-LSSVM鱼鹰算法优化最小二乘支持向量机多特征分类预测/故障诊断

分类预测 | Matlab实现OOA-LSSVM鱼鹰算法优化最小二乘支持向量机多特征分类预测/故障诊断 目录 分类预测 | Matlab实现OOA-LSSVM鱼鹰算法优化最小二乘支持向量机多特征分类预测/故障诊断分类效果基本介绍程序设计参考资料 分类效果 基本介绍 分类预测 | Matlab实现OOA-LSSVM鱼…

生物化学基础1 : 蛋白质

生物化学基础1 : 蛋白质 /***************************************************/ /***************************************************/ /***************************************************/ /***************************************************/ /**************…

background-image: linear-gradient 属性hover动画

1.效果 2.代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wid…

中霖教育:2024年注册会计师考试

2024年注册会计师考试报名时间已经将于四月份结束&#xff0c;还未开始考试&#xff0c;没有报名的考生可以准备明年的考试。 报名时间&#xff1a;4月8日-4月30日 考试时间&#xff1a;8月23日-8月25日 报名条件&#xff1a;具有专科以上学历&#xff0c;或者具有会计或者相…

docker的/var/run/docker.sock参数 作用是什么

-v /var/run/docker.sock:/var/run/docker.sock 的作用是什么 在工作中常见的容器 都要加上这个参数 -v /var/run/docker.sock:/var/run/docker.sock 其实这是容器跟docker 进程之间通信用的。 如果你的容器需要操作 docker 的资源&#xff0c;那么这个参数必须要有的。 /va…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【密钥导出(ArkTS)】

密钥导出(ArkTS) 业务需要获取持久化存储的非对称密钥的公钥时使用&#xff0c;当前支持ECC/RSA/ED25519/X25519的公钥导出。 开发步骤 指定密钥别名keyAlias&#xff0c;密钥别名最大长度为64字节。调用接口[exportKeyItem]&#xff0c;传入参数keyAlias和options。 option…

使用ChatGPT完成论文写作全流程提示词分享!

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 &#xff0c;直接上干货&#xff1a; 1. 文献综述 1.1. 主题聚焦&#xff1a;“我正在写关于[主题]的文献综述&#xff0c;请帮我找到相关的研究。” 1.2. 研究趋势&#xff1a;“请分…

leetcode94. 二叉树的中序遍历,递归法+迭代法。附带前序遍历方法

leetcode94. 二叉树的中序遍历 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[] 示例 3&#xff1a; …

OpenMv画面畸变

OpenMv画面畸变 在OpenMV中&#xff0c;img.lens_corr函数用于进行镜头畸变校正。镜头畸变是指在图像捕捉过程中&#xff0c;由于镜头本身的光学特性&#xff0c;会使得图像出现变形。 img.lens_corr函数可以对这些畸变进行校正&#xff0c;使图像恢复到较为自然的状态。该函数…

c++入门----类与对象(上)

大家好啊&#xff0c;好久没有更新了。因为本人的愚笨&#xff0c;想与大家分享的话肯定还得自己明白了才能给大家分享吧。所以这几天都在内部消化。好给大家优质的文章。当然我写的肯定还是很有问题的&#xff0c;希望大家可以在评论区里面指出来。好&#xff0c;废话不多说&a…

揭秘物联网“心脏“:智能控制器的无限可能

在飞速发展的物联网时代&#xff0c;我们身边的智能设备越来越多&#xff0c;从智能家居到工业自动化&#xff0c;从智能交通到智慧城市&#xff0c;这些设备的背后&#xff0c;都离不开一个至关重要的“心脏”——物联网智能控制器。那么&#xff0c;这个神秘的控制器究竟有何…

django踩坑(四):终端输入脚本可正常执行,而加入crontab中无任何输出

使用crontab执行python脚本时&#xff0c;有时会遇到脚本无法执行的问题。这是因为crontab在执行任务时使用的环境变量与我们在终端中使用的环境变量不同。具体来说&#xff0c;crontab使用的环境变量是非交互式(non-interactive)环境变量&#xff0c;而终端则使用交互式(inter…

Unresolved reference: button2

书籍 《第一行代码 Android》第三版 开发环境 Android Studio Jellyfish | 2023.3.1 问题 在学习《第一行代码 Android》第三版的3.3.5 返回数据给上一个Activity章节时, 在SecondActivity中给按钮注册点击事件时出现问题"Unresolved reference: button2",如下图…

[集成学习]基于python的Stacking分类模型的客户购买意愿分类预测

1 导入必要的库 import pandas as pd import numpy as np import missingno as msno import matplotlib.pyplot as plt from matplotlib import rcParams import seaborn as sns from sklearn.metrics import roc_curve, auc from sklearn.linear_model import LogisticRegres…

【SpringBoot配置文件application.yaml】笔记

详细内容见官方文档Common Application Properties 使用application.yaml进行简单配置 第一步&#xff1a;创建WebDemo第二步&#xff1a;创建application.yaml配置文件注意&#xff1a; 第三步&#xff1a;验证自己创建的yaml文件是否生效测试&#xff1a;思考&#xff1a;如…

【STM32嵌入式系统设计与开发---拓展】——1_9_1上拉输入和下拉输入

在使用GPIO引脚时&#xff0c;上拉输入和下拉输入的选择取决于外部电路的特性和应用需求。以下是它们各自的应用场景&#xff1a; 1、上拉输入&#xff08;Pull-up Input&#xff09; 用途: 当默认状态需要为高电平时。 避免引脚悬空&#xff08;floating&#xff09;导致的…

逆向学习思路链接分享

学好逆向先学C 然后我们需要学习好 编码问题CTF常见编码及加解密&#xff08;超全&#xff09; - ruoli-s - 博客园 (cnblogs.com) 并且规划好学习路线 CTF逆向Reverse入门学习路线&#xff08;面向小白&#xff09;_逆向reverse 思路-CSDN博客 并且安好反编译的环境 x64d…

微信保存的图片很模糊,用这个软件,秒变高清图!

我们有时从微信下载下来的图片就是很模糊&#xff0c;重新加载也一样&#xff0c;不知道什么原因。那么有什么好的解决图片模糊的办法吗&#xff1f; 微信保存的图片很模糊&#xff0c;用这个软件&#xff0c;秒变高清图&#xff01; 或者是写一个东西&#xff0c;需要配图&am…

在项目服务器部署git 并实现自动提交

以下场景适合在服务器当中使用git 方便提交代码&#xff0c;同时不需要外部的git仓库&#xff08;码云gitee或者github作为管理平台&#xff09;。依靠服务器本身ssh 连接协议做为git提交的地址&#xff0c;同时利用钩子自动同步项目代码 首先下载git sudo apt update sudo a…