zl程序教程

您现在的位置是:首页 >  工具

当前栏目

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

自动化 思考 软件设计
2023-09-11 14:20:54 时间

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

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

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

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/


没有测试驱动开发、重构、简单设计及结对编程的敏捷只是虚有其表 与过去 70 年间大多数程序员的做法相比,本章描述的实践有着根本的区别。它们强 制进行大量的分钟级甚至秒级、深刻的、充满仪式感的行为,以至于大多数程序员初次接 触时都会觉得荒唐。于是许多程序员做敏捷时尝试去掉这些实践。然而他们失败了,因为 这些实践才是敏捷的核心。没有测试驱动开发、重构、简单设计及结对编程的敏捷只是虚 有其表,起不到作用。 测试驱动开发是一个足够复杂的话题,需要一整本书才能讲完。本章仅仅是一个概览, 主要讨论使用该实践的理由和动机,而不会在技术方面进行深入的讨论。特别说一下,本 章不会出现任何代码。 程序员是一个独特的职业。我们制造了大量文档,其中包含深奥的技术
软件设计基本流程 随着信息化和数字化的持续推进,越来越多企业和人员会涉及到软件开发业务中。了解软件设计流程成为了IT和OT、业务之间有效协作的关键基础背景知识。本文旨在让产业界的朋友对软件设计的基本流程有所了解,一是鉴别合作方的业务能力,二是便于和合作方有效协作。
软件开发的过程 在软件工程中,软件开发方法(也称为系统开发方法,软件开发生命周期,软件开发过程,软件过程)是将软件开发工作划分为包含旨在更好的活动的不同阶段(或阶段)。规划和管理。
从高的角度看自动化测试 高度,这个词我很早就被提及。高度不够,把这个问题/东西拔高一些再看看,应该站在更高的位置看问题...这些是别人对我的评价,是面试过程中被问到的,是别人对我的指导/建议...有的人会问一个普通打工的需要什么高度呢?不就是点点点的,不就是写if-else的...对问题的思考其实就是优秀和普通的差别吧,尤其是来这里更为明显感觉到 我所了解的测试 前几天,看到虫师的一篇文章,是关于测试左移和测试右移的。