如何高效测试APP,快速定位bug?

news2024/11/22 18:46:36

一般提到测试,很多人会想到考试,但任意一个APP面世之前,也都需要多次测试,确保可以正常使用之后才会面世。有的公司会有专门的测试工程师,而在一般的互联网公司,大多由产品经理、工程师、设计师等兼职,即人人均测试。

大多数情况下,测试会被理解为找bug,那到底我们的理解对不对呢?测试时我们应该注意哪些问题呢?怎样测试,最省时,效率又最高?我们又该怎么跟工程师沟通测试中出现的问题呢?一起来看看。

一、测试时的四个层次

测试就是找bug?答案当然是否定的。

我认为测试员在测试时应该有三个不同的层次:

第一层次,也是最基础的,快速、精准定位bug

第二层次,也是最重要的,跟踪协调并解决bug

第三层次,在测试的同时能提出更优的建议及解决方案。

第四层次,是从心理层面出发,拥抱bug

二、测试人员必备的条件

测试的目的并不是为了找出问题,更关键的是为项目组决定何时发布APP提供有价值的信息,这就要求测试人员还必须具备以下条件:

1.十分了解APP的功能:这是寻找Bug的前提

2.有模拟不同用户使用场景的能力:用户千奇百怪,用户的场景也不尽相同,因此应该尽可能模拟用户场景,尽可能多的找出问题。

3.熟悉APP的业务流程及未来的发展方向:当APP新增一种支付渠道时,测试人员应该预见可能会对哪些功能产生影响,将与之相关功能全部纳入测试范围。

4.能够对问题进行报告、跟踪、汇总,并协助开发人员定位问题

5.要有搜集用户反馈问题并进行跟踪验证的能力:一个人的力量是有限的,很多问题我们可能短期内无法发现,因此我们应尽可能多的让用户帮忙测试。

三、找bug的正确姿势:提问并验证问题

对于一个APP而言,要推出市场,至少得满足两个条件:APP能正常使用,并且有内容可以用。而一个好的APP则需要满足更多的条件:不仅得好用,还得好看,最重要的是能优雅的解决用户的问题。

通常情况下,互联网公司搏的是时间,而新版APP面试与APP小功能的优化,测试时间一定是不一样的,高效测试APP的正确姿势就是:提问,并验证问题,而提问的过程就是在假设用户使用场景。

通常测试时会遇到的问题包含以下几方面:

1.安装、下载与卸载测试:是否可以正常安装、下载和卸载使用

2.网络环境测试:不同网络情况的处理与提示

3.基本功能的稳定性测试:主功能、业务流程是否能正常使用以及APP的兼容性问题?

4.干扰性测试:出现来电、短信等干扰信息时的反应

5.数据测试:删除或重装APP时,数据是否保存?不同设备登录,数据是否同步?同步中断时如何处理?

6.极限测试:比如输入错误的数据、没按要求进行操作、没有预设的网络情况、多个账号登录等。

7.反馈测试:错误提示、网络环境提醒、消息提醒、引导提示、更新提示、来电时提示、电量很低甚至自动关机时提示?

8.样式检查:文案、样式、界面、需求等检查

通过以上所有测试,基本上就离发版不远了

具体测试情境如下表:

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

四、“八个关键词”确保高效提交bug并跟踪解决问题

测试不是判断谁对谁错测试的目的是为了跟踪并协调解决bug。当我们找到bug时,该如何有效的提交bug,并确保bug按照期望的解决呢?

通常将bug反馈给工程师有两种途径,一种是文字的形式(报告、QQ、钉钉、Tower等任何可以实现交流的工具),一种是面对面沟通的方式,而无论哪种形式,都必须让工程师非常清楚的了解你的bug,才能解决问题。

与工程师沟通解决bug,应注意几个关键词:

1.精确:对于可重现的bug,提供精确步骤,使开发人员容易看懂,确保工程师没有曲解你的意思;

2.详细:详细记录操作流程以及bug,测试环境和特定条件一定要描述清楚,确保工程师不会有遗漏。

3.唯一:一个bug说明一个问题

4.完整:通过截图,让bug一目了然,一旦发现此问题不可重现,这些数据和信息将很重要。

5.简洁:通过使用关键词,可以使bug的标题描述短小简练,又能准确解释产生缺陷的现象

6.客观:不要带有个人观点,不要对开发人员进行评价,软件缺陷报告是针对产品的,对于不能重现的bug,也应该客观阐述。

7.验证:按照你列出的报告或者文字进行验证,再操作一遍,确保自己无遗漏。

8.优先级:有些bug是必须要立即解决的,有些bug是不影响正常使用的,这就需要你判断bug的优先级,并告知工程师优先级以及期望完成时间。

五、测试的另一个层次:提出APP优化方案

首先,测试人员有提出APP优化方案的可能。APP的更新与优化大多是产品经理的职能范畴,但测试人员,对APP的熟悉程度不亚于产品经理,他们更容易发现APP的缺陷并提出改进建议;

其次,提出APP优化方案更有利于减轻自己的工作量。如果一个复杂的流程简化了,这不仅能提升APP的稳定性,还可以减少自己测试的工作量。

再次,自己的提议被采纳后,可以提高自己的参与积极性,也会有一定的成就感。

六、测试bug,心态要好,我们应拥抱bug

bug不会因为没有发现就不存在,发现bug就意味着又一个隐患被排除,意味着产品变得更加健壮稳定,所以发现bug应该是件开心的事情。(此观点由老大尚勇提出,谢谢补充)

总结起来,测试APP的正确姿势有四点:

1.快速、精确定位bug

2.详细沟通并协调解决bug

3.提出更优方案减少测试时间

4.心态要好:拥抱bug

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:自动化测试老司机! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

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

相关文章

vulnhub练习 DC-1复现及分析

一、搭建环境 1.工具 靶机:DC-1 192.168.200.17 攻击机:kali 192.168.200.13 2.注意 攻击机和靶机的网络连接方式要相同,另外DC-1的网络连接方式我这里采用NAT模式,是与kali的网络连接模式相同的(当然亦可以选用桥…

unity学习(28)——登录功能

有之前注册的知识,登录就很容易处理了。 登陆成功返回id: 登录失败返回null: 测试同一账号不能重复登陆!登录成功后最好可以跳到新的场景中 结果是好的,去服务器看一下对应部分的代码,可见,登…

多端开发围炉夜话

文章目录 一、多端开发 一、多端开发 uni-app 官网 UNI-APP中的UI框架:介绍常用的UI框架及其特点 uView UIVant WeappColor UIMint UI uniapp嵌入android原生开发的功能 uniapp使用安卓原生sdk uni-app中的uni.requireNativePlugin Qt for iOS Qt for Android

Deep Layer Aggregation(CVPR 2018)原理与代码解析

paper:Deep Layer Aggregation official implementation:https://github.com/ucbdrive/dla third-party implementation:https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/dla.py 本文的创新点 骨干网络的设计…

Spring Boot利用Kaptcha生成验证码

生成验证码 我们在登录或注册某个网站的时候,会需要我们输入验证码,才能登录注册,那么如何生成验证码呢?其实,生成验证码我们可以用Java Swing在后台内存里的区域画一个出来,但是非常麻烦,所以…

Linux系统——nginx服务介绍

一、Nginx——高性能的Web服务端 Nginx的高并发性能优于httpd服务 1.nginx概述 Nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始,第一次公开发布时间是2004年10月4日,版本…

KubeSphere 镜像构建器(S2I)服务证书过期解决方案

目前 KubeSphere 所有 3.x.x 版本,如果开启了 DevOps 模块并使用了镜像构建器功能(S2I)都会遇到证书过期问题。 解决方法 已开启 DevOps 模块 下载这个更新 S2I 服务证书压缩包,上传到任一可以访问 K8s 集群的节点; …

Java Web(一)--介绍

Java Web 技术体系图 三大组成部分: 前端: 前端开发技术工具包括三要素:HTML、CSS 和 JavaScript;其他高级的前端框架,如bootstrap、jquery,VUE 等。 后端: 后端开发技术工具主要有&am…

PiflowX-组件UnionAll

UnionAll组件 组件说明 Union多个输入源。输入源必须具有相同的字段类型。 计算引擎 flink 组件分组 common 端口 Inport:Any outport:默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子inportsInports“”无否Inports string are…

Atcoder ABC341 A - Print 341

Print 341(输出 341) 时间限制:2s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【样例输入1】 …

基于python-socket构建任务服务器(基于socket发送指令创建、停止任务)

在实现ia业务服务器时需要构建一个python-socket客户端,1、要求能与服务器保持心跳连接,每10秒钟发送一次心跳信号;2、要求能根据socket服务器发送的指令创建或终止一个定时任务。 为此以3个类实现该功能,分别为socket通信类&…

Hypervisor是什么

Hypervisor 通常指的是虚拟机监视器(VirtualMachine Monitor),它是一种软件或硬件,可以在物理服务器上创建和管理多个虚拟机(VirtualMachine)。 Hypervisor 提供了一个抽象层,将物理服务器的资源…

基于SpringBoot的农产品智慧物流系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

Redis之缓存击穿问题解决方案

文章目录 一、书接上文二、介绍三、解决方案1. 单例双检锁2. 缓存预热和定时任务 一、书接上文 Redis之缓存雪崩问题解决方案 二、介绍 缓存击穿就是大量并发访问同一个热点数据,一旦这个热点数据缓存失效,则请求压力都来到数据库。 三、解决方案 1…

​LeetCode解法汇总106. 从中序与后序遍历序列构造二叉树

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给定两个…

惠尔顿 网络安全审计系统 任意文件读取漏洞复现

0x01 产品简介 惠尔顿网络安全审计产品致力于满足军工四证、军工保密室建设、国家涉密网络建设的审计要求,规范网络行为,满足国家的规范;支持1-3线路的internet接入、1-3对网桥;含强大的上网行为管理、审计、监控模块&#xff1b…

Dockerfile文件中只指定挂载点会发生什么?

当你在VOLUME指令中只指定容器内的路径(挂载点)而不指定宿主机的目录时,Docker会为该挂载点自动生成一个匿名卷。这个匿名卷存储在宿主机的某个位置,但这个具体位置是由Docker自动管理的,用户通常不需要关心这个存储位…

哪些工具可以改变手机电脑网络IP地址?

在互联网时代,网络已经成为了我们日常生活中不可或缺的一部分。然而,随着网络的普及和技术的不断发展,网络安全问题也日益凸显。为了保护个人隐私和信息安全,我们需要了解一些工具可以改变手机电脑网络IP地址的知识。 首先&#x…

谈谈我对低代码开发平台的理解

目录 一、前言 二、低代码谜团 三、低代码能解决哪些问题 四、好用的低代码平台 五、总结 一、前言 低代码“灵活、快速、低门槛”的标签,为其带来了诸多争议。在低代码平台上是否只能搭建极其简单、无亮点的小功能?低代码带来的“全民程序员”化是…

Java线程池知识点总结

1、线程池优势: 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗…