深聊测开领域之:三种高性价比测试方法

简介: 深聊测开领域之:三种高性价比测试方法

1 引言


最近也是临近年底,各位小伙伴也是蠢蠢欲动,

小鱼最近也是没闲着,除了加班,还在做一项"公益活动":one by one 的指导想要体现自己价值的小伙伴。


在面试指导过程中,小鱼发现,即使有10N+工作经验的小伙伴,其实对测开的理解,还停留在3N左右的经验上,这不禁让小鱼我惊叹(下巴没惊掉)…


所以,小鱼也是决定,开一个专栏,来详细分享测开领域的专业知(zi)识(shi)~~


我们都知道,测试领域的测试方法,很多种(多的不少于100种),


所以那些所谓的说测试很简单的人,你就呵呵 他 就行!!


而在这100多种测试方法中,有三种,是能非常体现出高效产出比的。


我们今天,就来聊一聊 这三种测试方法:


灰度测试

冒烟测试

单元测试

小鱼一直推崇的都是高效产出比,

有的时候,要屈服于现实…但,这不等于放弃


2 单元测试


2.1 单元测试引入

软件的问题,90% 都是编码的问题

在编码阶段发现问题,不会对任何人有影响,并且可以随手改掉。这也是成本最低,效率最高的。


那么,单元测试,如何执行呢?

一句话,就是 一行一行执行代码。


只要让代码跑起来,才能发现代码的问题。


单元测试带来的收益,还有很多,例如:更好的模块设计,更放心的代码重构等等。

当然,任何事情都有两面性,单元测试也不例外,这需要持续的编写测试代码。


这也就是出现了两极分化的情况,支持派与反对派。

一般的大厂,都会做单元测试,因为这是减少缺陷,提高效率的方式;

而一些小厂,可能就不会考了这么多,毕竟人员,资源都有限…


但是,小鱼还是那句话:

任何事情,都量力而行!


2.2 投入产出比

测试投入: 🌟🌟🌟

测试产出:🌟🌟🌟🌟🌟

测试指数:🌟🌟🌟🌟🌟


3 冒烟测试


3.1 冒烟测试引入

每个测开的大佬,都会经历过:


修复了1个缺陷,引入10个缺陷;

开发大佬提供的版本,不是闪退,就是无法运行,计划中的特性测试根本没办法开展。

每次出现这种情况,都需要PM出面,否则…(可能会休长假…)


而解决这些问题,最好的方法就是,给开发提交测试版本设置的一道防线,即冒烟测试。


如果说回归测试是追求大而全,那么冒烟测试追求的就是小而精。

冒烟用例/测试环境/执行入口 由测开人员提供,覆盖本次提交版本的核心功能,涉及主流程。


冒烟测试通过,可以说明开发的代码改动没有很大问题,软件也有了基本的质量保证,后续的测试阶段也可以陆续展开。


冒烟测试作为开发提测的一道防线,可以减少浪费,提交效率。

冒烟测试用例比较少,因为开发和维护成本就低很多。

主要的成本是冒烟用例失败的定位分析成本,这是一件持续的事情。


3.2 投入产出比

测试投入: 🌟🌟

测试产出:🌟🌟🌟🌟🌟

测试指数:🌟🌟🌟🌟🌟


4 灰度测试


4.1 软件的依赖

软件测试中,有一个根深蒂固,也是很普遍存在的问题:

预发环境都OK的功能,

上线后,就出现各种问题


我想这在大厂的人,是很有感触的。


我们都知道,软件是运行在特定环境中的,软件的的实际行为与其所处的环境具有高度依赖性。


软件运行的中级环境时生产环境,只有在生产环境测试通过,我们才能说软件有风险的几率非常低。


但是,在生产环境做测试,风险是很大,对用户的影响也很大,那这个时候,就需要引入了 灰度测试。


4.2 引入灰度环境

在灰度测试中,通常将待发版的软件部署到部分生产环境(即 灰度环境)上,然后将测试流量或者部分用户流量引入到灰度环境。


如果你是某软件非常活跃的用户,你会收到某新功能的体验邀请…

例如:支某宝邀请你参加体验xx新功能;

某信邀请你体验xx新功能。


灰度测试实现了在生产环境对软件的终极验证,是软件发布前的最后一道防线。


它的投入(环境配置/引流/自动化用例)等是一次性的,但是其产出是显著的(提前于用户发现问题),并且可以持续产出(每一次软件升级都受益)


4.3 投入产出比

测试投入: 🌟

测试产出:🌟🌟🌟🌟🌟

测试指数:🌟🌟🌟🌟🌟


5 总结


今天聊的三种测试方法,

不期望每个公司都能够完全推行,但是至少各位测开同学,能够了解,熟悉,掌握。

至少在测开领域,掌握足够多的知识,是进大厂的资本,也是提升收入的资本。

所以,

除了约妹子,剩下的时间,就跟着小鱼学知识。


目录
相关文章
|
16天前
|
安全 测试技术
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【10月更文挑战第1天】北京大学李戈教授团队提出了一种名为“统一生成测试”的创新方法,有效提升了大模型如GPT-2和GPT-3在单一测试中的代码生成覆盖率,分别从56%提升至72%和从61%提升至78%。这种方法结合了模糊测试、变异测试和生成对抗网络等多种技术,克服了传统测试方法的局限性,在大模型测试领域实现了重要突破,有助于提高系统的可靠性和安全性。然而,该方法的实现复杂度较高且实际应用效果仍需进一步验证。论文可从此链接下载:【https://drive.weixin.qq.com/s?k=ACAAewd0AA48Z2kXrJ】
36 1
|
1月前
|
人工智能 测试技术 开发者
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【9月更文挑战第27天】北京大学李戈团队在人工智能领域取得重要突破,提出HITS新方法,通过将待测方法分解为多个切片并利用大型语言模型逐个生成测试用例,显著提升代码测试覆盖率,尤其在处理复杂方法时效果显著,为软件开发和测试领域带来新希望。尽管存在一定局限性,HITS仍展示了巨大潜力,未来有望克服限制,推动软件测试领域的创新发展。论文详情见【https://www.arxiv.org/pdf/2408.11324】。
61 6
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
24 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
22 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
13天前
|
测试技术 UED
软件测试中的探索性测试:一种高效且灵活的测试方法
本文将深入探讨探索性测试的核心概念、优势及其在实际项目中的应用。我们将从探索性测试的基本定义入手,逐步解析其在不同场景下的具体实施方法和最佳实践。通过详细的案例分析和方法对比,帮助读者全面了解这种既高效又灵活的软件测试技术。
|
12天前
|
安全 测试技术 API
一图看懂API测试9种方法
一图看懂API测试九种方法:冒烟测试验证基本功能,功能测试确保符合规格,集成测试检查组件协同工作,回归测试防止新变更引入问题,负载测试评估性能稳定性,压力测试挑战极限负载,安全测试发现并修复漏洞,用户界面测试确保UI与API协调,模糊测试提升异常数据处理鲁棒性。
|
14天前
|
弹性计算 安全 Linux
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
|
16天前
|
SQL 关系型数据库 MySQL
SQL批量插入测试数据的几种方法?
SQL批量插入测试数据的几种方法?
44 1
|
1月前
|
JavaScript 前端开发 Java
敏捷测试价值观、方法和实践读书笔记(5)
本章节介绍了敏捷功能测试的原则与实践,包括单元测试的概念及其编写步骤,测试驱动开发(TDD)的流程,以及如何通过模拟对象进行测试。详细讲解了单元测试的编写方法,如初始化对象、执行操作及验证结果,并探讨了 TDD 的五个步骤。通过具体案例展示了如何逐步完善储蓄账户的功能测试,包括存款、取款及异常处理。此外,还讨论了代码覆盖率的重要性及其局限性,强调了测试充分性比单纯追求代码覆盖率更为关键。
22 3
敏捷测试价值观、方法和实践读书笔记(5)
|
28天前
|
机器学习/深度学习 人工智能 安全
软件测试中的探索性测试:一种高效发现软件缺陷的方法
本文将深入探讨软件测试中的一种关键方法——探索性测试。探索性测试是一种动态的、探索性的软件测试方法,它依赖于测试人员的直觉和经验,通过实际操作软件来发现潜在的问题和缺陷。与传统的基于预定义用例的测试方法相比,探索性测试更加灵活,能够更全面地覆盖软件的各个方面,从而更有效地发现难以预见的错误和漏洞。
25 2