Python自动化测试(1)-自动化测试及基本技术手段概述

生产力概述

在现在以google为首的互联网时代,软件的开发和生产模式都已经发生了变化, 在《参与感》一书提到:某位从微软出来的工程师很困惑,微软在google还有facebook这些公司发展的时候,为什么为感受无法有效还击,核心问题就是软件生产模式不同 [1] ,微软当时的模式已经严重落伍了。python

目前IT行业的就基本上是“天下武功,惟快不破”的时代了。开发要变成敏捷,测试也一样变成敏捷,开发要快,测试一样也要快。git

在新趋势下面,一切都要快,然而快并不意味着下降质量。要“又快又好”的目标,只能经过提高工具和技能来提高生产力了。github

在传统的机械工业,提高生产力的方式有两种:框架

  • 先进的管理制度(流水线的生产方式)
  • 先进的生产设备(线上的自动化设备)

一样对于IT行业来讲,提高生产力也对应着两种方式:工具

  • 先进的管理制度(持续集成的生产方式)
  • 先进的生产设备(生产过程自动化工具)

纵观因此的行业发展历史,生产力的提高每每是以落实“制度理论”和“先进工具”来产生的。学习

软件测试是软件开发过程当中必不可少的一部分。不论是传统IT公司的瀑布模式软件工程,仍是目前新兴的互联网公司的敏捷模式软件工程,这个生产环节都是存在的,由于它是软件质量保证的手段。测试

同时,为了顺应对生产力要求很高的现代软件工程,测试从业人员也须要以先进的理念和工具来武装本身。google

在本文里面不扯情怀或者说教“行业无贵贱这分“式的心灵鸡汤,本文直接提 生产力 。毕竟绝大数的企业的第一要义就是要营利,要赚钱,无论社会有多残酷,无论人有多变,以下两点应该是不太会变的:blog

  • 企业须要营利和增加
  • 我的须要收入和成长

先进的管理制度就很少说了,目前基本上行业已经达成比较好的主流意见了--”敏捷开发,持续集成,快速迭代“。最后落实到现实生产中,仍是要作”自动化“,不然一切都是空谈。资源

  • 企业为何须要自动化?由于这样有助于生产力的提高 。
  • 我的为何须要自动化?由于这样能够职业能力和竞争力。

OK,本系列的文章先从大处着眼,可是要从小处着手。最后”小“到现代软件生产里面的”软件测试“这个职能角色。 上面陈述了那么多,对于测试行业总体来讲,有以下几个结论:

  1. 软件测试的过程是不会消失
  2. 测试人员的技能要求会显著提高,甚至和开发人员要求不相上下
  3. 纯手工操做的测试技能会被逐渐失去市场
[1] 《参与感》.黎万强.2014-08

自动化的利弊陈述

正如制造工业的情形同样,你们都知道流水线和先进设备有助于提高生产力,可是为何绝大多数制造工厂又不这么作呢?缘由很简单:

  • 首次投入成本过于昂贵
  • 后期还存在巨大的生产设备维护成本
  • 人员素质要求太高

在软件工业的测试行业也一样存在一样的问题,自动化的测试其实是至关于在功能代码之上,还要投入开发另一个项目并维护,这样也没法避免的须要耗费宝贵的开发资源。

如今的情形说极端一点就是:

  • 作 ”自动化“ 是找死
  • 不作 ”自动化“ 是等死

现实一点解读就是:”找死“的不必定死,”等死“的则必然死。 ”找死“ 虽说是主动寻死,可是这样的人至少仍是在想办法求生路,存在成功的可能,”等死“ 则是在消磨和透支本身的时间和机会,只能被动受死。

综上:若是有长远的产品线和长远的眼光,决策者都应该花必定的精力来作 ”自动化“。这里所说的 ”长远“ 是指生产过程须要有足够的量或者时间来收回自动化投入上产生的首次成本

阶段小结

此文做为后续的 自动化测试 系列文章的开端。后续将从具体的技术手段着手,以提高生产力,解放重复和管繁琐的手工生产模式为目的,但愿可以对此行业的从业人员有一些参考,若是可以给本行业的发展起到一些积极的做用,也就达到了写此文的目的了吧。

后续内容预告:

  • 一个简单的自动化测试场景需求
  • 自动化测试的基本原理
  • 基于python的自动化测试框架
  • pyunit介绍及使用
  • pyunit使用场景扩展
  • 测试系统和生产系统的集成

 


做者: Harmo哈莫
做者介绍: https://zhengwh.github.io
技术博客: http://www.cnblogs.com/beer
Email: dreamzsm@gmail.com
QQ: 1295351490
时间: 2015-10
版权声明: 欢迎以学习交流为目的读者随意转载,可是请 【注明出处】
支持本文: 若是文章对您有启发,能够点击博客右下角的按钮进行 【推荐】
相关文章
相关标签/搜索