从高的角度看自动化测试

简介: 前言 高度,这个词我很早就被提及。高度不够,把这个问题/东西拔高一些再看看,应该站在更高的位置看问题...这些是别人对我的评价,是面试过程中被问到的,是别人对我的指导/建议...有的人会问一个普通打工的需要什么高度呢?不就是点点点的,不就是写if-else的...对问题的思考其实就是优秀和普通的差别吧,尤其是来这里更为明显感觉到 我所了解的测试 前几天,看到虫师的一篇文章,是关于测试左移和测试右移的。

前言

高度,这个词我很早就被提及。
高度不够,把这个问题/东西拔高一些再看看,应该站在更高的位置看问题...这些是别人对我的评价,是面试过程中被问到的,是别人对我的指导/建议...
有的人会问一个普通打工的需要什么高度呢?不就是点点点的,不就是写if-else的...
对问题的思考其实就是优秀和普通的差别吧,尤其是来这里更为明显感觉到

我所了解的测试

前几天,看到虫师的一篇文章,是关于测试左移和测试右移的。左移就是测试提前介入,右移就是上线的跟进,这些都是接触过的,

测试并不是点点点,看看有没有bug,一般测试所在的团队都叫质量保障or质量管控部门,对整个项目质量的把控,而不是代码的把控。

因为之前一直在搞接口自动化,对接口自动化的流程有所了解,都是 数据准备--> 请求发起 --> 获取返回 --> 进行断言 --> 发送报告,然后结合jenkins搞下持续集成,结合代码覆盖率工具搞下覆盖率,

完成整个流程:研发提交代码 - > 静态代码检测 -->自动化用例执行 --> 结果报告 --> 代码覆盖率报告

一般自动化就这么样子的流程,然而恰恰就是这样形成了局限性,先说说每点都可以深入做很多东西,那么应该思考这么几个问题:

1. 易用性,是不是扔给其他人写用例,人家很容易上手;

2. 用例/数据的维护难度,这个是自动化用于项目比较头痛的问题;

3. 自动化框架是否可优化,支持多线程吗? 执行1000条用例花费多少时间;

4. 测试数据如何维护?是新建数据,还是使用固定数据?


然而这里缺失了最重要的环节,

数据和环境

1. 自动化的环境要和现在的功能测试环境脱离,需要重新搭建一套自动化环境;

2. 测试数据也要跟功能测试环境隔离,互不干扰,但又需要可以随时同步;

3. 数据是否可清洗,可备份,可回滚,可移植;

 

监控
1. 有没有合理的监控机制;

2. 更早的发现问题来止损;

3. 现有的架构是否对异常能灵活的降级;

4. 可以从线上数据监控来分析分析业务需求是否达到期望,是否可以促进项目的质量;

 

因此接口自动化的流程应该变成了:

环境搭建 --> 数据准备/清洗  --> 用例执行 -->  发送报告 -->  线上监控 -->  项目迭代

这样子就是从高了一层的角度去看质量,这样形成了闭环

 

结尾

测试可以从项目质量把控去要求研发做一些事情,如日志打印的规范,线上监控... 

这边了解到很多团队是让研发去写测试用例,然后测试去review用例,用例执行可能由产品或开发来执行,然后测试有足够的时间去做工程化的东西,

当有小需求过来,研发自测通过后,但担心会影响到其他业务,如果测试有足够好的自动化测试工具提供,这样就可以解放部分时间;

有重构项目,迁移项目的时候,自动化也可以节省很大部分的时间;

 

虽千万人,吾往矣!
目录
相关文章
|
4天前
|
敏捷开发 测试技术 持续交付
探索自动化测试在软件开发中的重要性
【10月更文挑战第21天】 在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将深入探讨自动化测试的概念、优势以及实施策略,旨在为软件开发团队提供有效的测试解决方案,从而提高软件的可靠性和性能。
3 0
|
6月前
|
测试技术 开发者 UED
自动化测试在软件开发中的重要性
在当今快速发展的软件行业中,软件质量成为了决定产品成功与否的关键因素之一。而自动化测试作为提高软件质量和加速软件开发过程的重要手段,正受到越来越多软件开发者的青睐。本文将从自动化测试的定义、优势以及实施过程中的注意事项等方面进行探讨,旨在帮助读者更好地理解和应用自动化测试在软件开发中的重要性。
|
3月前
|
测试技术 UED
质量标准化实践问题之测试策略的本质如何解决
质量标准化实践问题之测试策略的本质如何解决
21 2
|
4月前
|
Kubernetes 测试技术 持续交付
现代软件开发中的自动化工具与效率提升
在当今快节奏的软件开发环境中,自动化工具成为了提高效率和质量的关键。本文探讨了几种常见的自动化工具,并分析了它们在不同阶段和场景中的应用,展示了如何通过这些工具优化开发流程,加速项目交付。 【7月更文挑战第8天】
73 2
|
5月前
|
测试技术
自动化测试在软件质量保证中的作用与挑战
随着软件开发周期的加速和复杂性的提升,传统的手动测试方法已无法满足高效率、低成本的需求。自动化测试作为解决方案之一,其重要性日益凸显。本文旨在探究自动化测试在确保软件质量方面的贡献及其面临的挑战。通过分析相关研究数据和案例,揭示自动化测试在提高测试覆盖率、降低长期成本以及加快交付速度等方面的优势。同时,探讨了自动化测试实施过程中的技术挑战、维护难题以及技能短缺等问题,并提出了相应的解决策略。
74 0
|
6月前
|
敏捷开发 设计模式 Devops
深入理解软件测试中的自动化框架设计原则
【5月更文挑战第26天】 在现代软件开发周期中,自动化测试已成为确保产品质量和加快交付速度的关键因素。本文将探讨自动化测试框架的设计原则,旨在为读者提供如何构建一个高效、可靠且易于维护的自动化测试框架的洞见。通过对框架设计模式的深入分析,以及实际案例研究,我们阐述了如何优化测试脚本的重用性、可扩展性和灵活性。文章还讨论了持续集成环境中自动化框架的最佳实践,帮助团队有效地实施自动化策略,并最终实现更快的反馈循环和更高的产品质量。
|
6月前
|
机器学习/深度学习 人工智能 大数据
自动化测试在软件开发中的重要性与应用
自动化测试是软件开发过程中不可或缺的一环,它通过编写脚本和工具来执行测试用例,提高了软件测试的效率和准确性。本文将探讨自动化测试在软件开发中的重要性、应用场景以及未来发展方向。
54 0
|
6月前
|
Java 测试技术 持续交付
自动化测试在软件开发中的重要性和应用
随着软件开发的迅速发展,自动化测试技术在软件开发生命周期中发挥着越来越重要的作用。本文将探讨自动化测试在软件开发中的重要性和应用,并介绍了一些常见的自动化测试工具和最佳实践。
|
6月前
|
机器学习/深度学习 人工智能 测试技术
软件自动化测试在现代软件开发中的重要性
传统软件测试流程中,手动测试往往耗时且容易出现遗漏,随着软件规模和复杂度的不断提升,自动化测试成为了现代软件开发中不可或缺的一环。本文将探讨软件自动化测试的重要性,介绍其优势以及在现代软件开发中的应用。
55 0
软件质量的概念
□ANSI/IEEE Std 729-1983定义软件质量为”与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体” □M.J.Fisher定义软件质量为”所有描述计算机软件优秀程度的特性的组合”
172 0