自动化测试阶段和软件设计思考

简介:

序言:发现好久没写博文了,前段时间,发现很浮躁,别想办法的静下心来,踏踏实实的思考,踏踏实实的做事,一直也在写总结,但却很零散,现在理理思绪,这一段时间,自动化测试很多东西都已经上道了,测试人员也能够去独立完成很多自动化测试任务了,我能够将更多的精力放在软件工程的思考上,那就暂且以软件设计为题,说这一段时间的心得吧。也许认知有限,请指点。

  一、自动化测试的阶段认知

  很多人都将使用自动化测试工具当做了自动化测试,这样理解也没用错,个人现在看来,自动化测试的几种阶段吧

  1、使用者阶段,能够去使用工具,到能够利用工具完成自动化测试任务。这个过程中,也许你需要的是将工具的使用帮助看懂,能够结合你的部门自动化测试需求去使用好工具,对测试理论有所理解。

  2、半开发者阶段,能够基于工具进行拓展,例如:基于QTP和RFT等写一系列的框架,这种阶段,就要求你能够懂一些自动化测试思想了,且对工具的API和脚本语言有一些理解了。

  3、开发者阶段,能够脱离一些不灵活的工具,大千世界,各种测试开源工具的包能够为我所用,例如:你可以用selenuim操作web的api,abbot操作java界面的api或者写一个脚本驱动库调用CLI来作为一个对象操作底层,自己封装一层数据驱动和关键字驱动层,然后调用然后调用robot的结果api,最终也可以加上husdon来做一个测试任务的触发,根据自己的测试需求,应用各种开源包定制自己的自动化测试架构,当然,你需要能够很深刻的看待测试和自动化测试,能够对各种测试开源工具的原理有所理解(这种理解也是建立对软件开发知识的理解程度,例如操作系统、虚拟机系统、web服务等)

  4、设计者阶段,我以前,现在更是认为:自动化测试的大部分效益不是一定来源于一个多大的平台,多少个用例,而是来源于平时的各种测试活动中,无所谓自动化测试,也所谓手工测试,能够找出测试中的不足,能够抽象出测试中的某种理论或者模型。

  5、设计开发者阶段,我觉得,所谓的设计开发者,就是知行合一,能够快速的将繁杂的测试需求用自动化脚本替代,能够将一些测试的理论用软件工程的方式验证,能够基于某个测试任务能够快速的开发出易用性的自动化测试工具,不仅提出疑问,而且能够去抽象,去快速实践和证明。

  6、商业型阶段,所谓商业型,即是能够真正让整个领域产生巨大价值的推动,这个阶段,我也迷惑,但我相信肯定会有的。

  注:也许以上的阶段有的看似脱离了自动化,但是我觉得,自动化是为其测试理论服务的,无论自动化测试还是别的测试技术,都是为了推动测试商业化,能够让测试良好的运作起来。

  二、软件设计的思考

  再说一说对软件设计的思考吧

  很多时候,我们把软件设计想的太复杂了,从而让我们畏惧止步不前,最近在思考,领域是相通的,那么软件设计如何与我们最简单的认知相通呢。

  1、软件设计是否好比我们写文章,我们一开始学会文字,不管是学汉语也好,还是学英语也好,我们刚开始都是学语法,就好比软件设计,我们刚开始也是选择编程语言(java、C++、C),不同的语言有不同的应用环境,然后学习编程语言的语法

  2、写文章,我们学会了语法,认识了字,但是我们还写不出文章,我们要学习写句子,学编程也是,我们首先要学习写简单的线性代码,很多人认为一开始要学习高深的软件思想,其实不好,为什么C语言基础,因为C语言是教你怎么一步一步写句子,然后组成记流水账似的文档,虽然不好看,但实用和基础。

  3、之后,我们踏入了学习写文章了,这个过程,就像我们写一个系统,没有人能一开始就能写长篇小说,每个人都是从最简单的文章开始,我们写代码也是,必须一步一步来,有的人写文档需要打草稿,其实就相当于编程过程中,说的好听可以叫建模,其实就是定义一些接口,组成系统的架构。

  4、写文章有很多大纲模板,就相当于写代码有很多框架,你要写成什么样的文章,需要你对某一个情景什么样的感触,编程也是,你能写成什么样的系统,就需要你对业务和协议的理解程度了。

  5、所以,软件设计和写文章道理很是相通,领悟力和苦功夫都是必需的,需要我们钻研进去但又不能拘泥于其中。写文章要多写才能出真文采,则软件设计也是一样,要多实践,不要老是望而远之,找借口确实比实践来得容易的多,我们往往太看重结果而不敢上前,但是实际上闭着眼睛只要迈出一步,会发现原来这也是一件很容易的事情,刚开始的话,可以临摹,可以仿照,之后脱离自己写,到最后自己去思考架构,思考文笔,思考“写作”的系统流程。

  总结:其实个人觉得:很多人都说,厉害的测试人员不一定要写代码,其实我也同意这种说法,但是,我认为更厉害的测试人员他一定懂软件设计和工程,并且有了一定的理解力,测试人员可以是一个文章的读者,也可以是研究者,挑剔读者能读出文章的好坏,但是却无法指点,而研究者不仅知好坏,还能进行保障,会成为写文章之人的良师益友。对与不对,共勉~

版权声明:本文出自 散步的SUN 的51Testing软件测试博客:http://www.51testing.com/?382641

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
1月前
|
人工智能 数据可视化 安全
瀑布模型是什么?在软件开发中有哪些主要阶段和步骤?
瀑布模型是一种经典的软件开发方法,将开发过程划分为需求分析、设计、编码、测试和维护等顺序阶段,强调阶段性和文档化。适用于需求明确、稳定且对安全性和可靠性要求高的项目。尽管存在局限性,但在特定场景下仍具重要价值。未来,瀑布模型可能与其他开发模型结合,更加灵活高效。
瀑布模型是什么?在软件开发中有哪些主要阶段和步骤?
|
1月前
|
测试技术
软件质量保护与测试(第2版)学习总结第十三章 集成测试
本文是《软件质量保护与测试》(第2版)第十三章的学习总结,介绍了集成测试的概念、主要任务、测试层次与原则,以及集成测试的不同策略,包括非渐增式集成和渐增式集成(自顶向下和自底向上),并通过图示详细解释了集成测试的过程。
59 1
软件质量保护与测试(第2版)学习总结第十三章 集成测试
|
1月前
|
测试技术
软件质量保护与测试(第2版)学习总结第十一章 白盒测试
本文是《软件质量保护与测试》(第2版)第十一章的学习总结,详细讲解了白盒测试中的控制流测试技术,包括语句覆盖、判断覆盖、条件覆盖、判定-条件覆盖和路径覆盖等方法,并通过具体代码示例展示了如何设计测试用例来验证程序中的不同执行路径。
54 2
|
3月前
|
测试技术
探索软件测试的奥秘:如何构建有效的测试策略
在软件开发的海洋中,测试是确保航船不沉没的灯塔。本文将带你领略测试的魅力,从基础概念到高级策略,我们将一起航行在软件测试的广阔海域,探寻那些隐藏在代码深处的秘密。准备好了吗?让我们启航吧!
53 1
|
6月前
|
敏捷开发 设计模式 Devops
深入理解软件测试中的自动化框架设计原则
【5月更文挑战第26天】 在现代软件开发周期中,自动化测试已成为确保产品质量和加快交付速度的关键因素。本文将探讨自动化测试框架的设计原则,旨在为读者提供如何构建一个高效、可靠且易于维护的自动化测试框架的洞见。通过对框架设计模式的深入分析,以及实际案例研究,我们阐述了如何优化测试脚本的重用性、可扩展性和灵活性。文章还讨论了持续集成环境中自动化框架的最佳实践,帮助团队有效地实施自动化策略,并最终实现更快的反馈循环和更高的产品质量。
|
5月前
|
测试技术 程序员 开发者
软件测试项目式学习一(认识软件生命周期与开发模型及软件质量)
软件测试项目式学习一(认识软件生命周期与开发模型及软件质量)
63 0
|
5月前
|
测试技术
软件测试项目式学习三(软件测试原则与基本流程与实际测试用例)
软件测试项目式学习三(软件测试原则与基本流程与实际测试用例)
75 0
|
6月前
|
测试技术 数据库 UED
【白盒测试】单元测试的理论基础及用例设计技术(6种)详解
【白盒测试】单元测试的理论基础及用例设计技术(6种)详解
364 1
|
敏捷开发 监控 安全
测试思想-测试流程 测试流程简述
测试思想-测试流程 测试流程简述
299 0
|
测试技术
【自动化测试】软件测试各个阶段的自动化需求
【自动化测试】软件测试各个阶段的自动化需求
128 0