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

简介:

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

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

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

  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/

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