参考原文地址:http://www.51testing.com/html/86/n-3601786.html

不知不觉已经工作五年时间了,从茁壮、康拓普、利鑫云端到现在的惠卡世纪,经历过机顶盒软件(嵌入式)、企业管理软件(供电局管理系统)、门户网站、互联网彩票、互联网金融、O2O、电商等各种不同业务、不同平台;

阅读目录:

  · 软件测试人员应该居安思危

  · 测试人员应该比开发人员更熟悉业务需求

  · 学会如何和开发人员相处

  · 测试人员应该懂一些基本的编程

  · 测试人员搭建开发环境

  · 写文档是测试人员的核心能力

  · 测试后期应该做两天交叉测试

  · 测试人员的瓶颈

  · 尽量实现自动化

  · 自动化测试VS手动测试

  · 自动化测试的技术和开发用到的技术相差太远

  · 最郁闷的是无法听懂开发人员讨论技术

  · 优秀的测试人员非常稀少

  · 大部分的测试经理都是有开发背景的

  · 软件测试的确非常枯燥,需要花费大量精力

  · 英语是测试人员的救命稻草

  · 尽量少用UI自动化测试,多使用单元测试接口测试

软件测试人员应该居安思危

  每当经济不好,公司业绩不好的时候,公司都可能进行裁员。 首先裁的就是测试人员。 因为测试人员的技术水平相对来说比较低,容易被替代,招起来也比较容易。 公司往往先拿测试人员开刀。

  身为测试人员,虽然我们平常的工作大部分都比较安逸。 但是千万不能温水煮青蛙。 应该自强不息, 要像开发人员一样, 不断学习,提高自己的编程水平。这样就算被裁也能很快找到新的工作。

测试人员应该比开发人员更熟悉业务需求

  测试人员的水平主要体现在测试用例的设计上。 要设计出全面,覆盖广的测试用例,需要测试人员对自己所测试的项目的业务需求非常熟悉,甚至要比开发人员还要熟悉。

  如果是测试银行系统,通信行业,或者ERP软件。 这些业务知识非常有用的,学习起来比较有激情。

  要做到精通业务需求谈何容易。

  1. 要熟读功能需求文档, 任何有疑问的地方都要去和PM确认。

  2. 把自己当成最终用户, 经常使用自己所测试的软件。模拟用户的行为。

  3. 熟记软件的每个功能。

  假如倒霉碰到一些又没用,又繁琐的软件, 真的是不想去学习它的业务(出了这个公司就再也用不到的业务)

学会如何跟开发人员相处

  测试人员必须跟开发人员密切合作, 所以跟开发人员搞好关系是相当重要的。

  1. 和开发人员成为朋友。

  熟悉了干啥都方便

  2. 不要打扰开发人员

  看到开发在聚精会神写代码的时候,千万不要去打扰人家。 写代码需要集中精力,如果被打扰,就会中断思考。

  3. 集中问问题。

  把需要问的问题都总结起来, 集中起来问开发,这样能节省大量的时间。

  4. 写好Bug,不被开发人员烦。

  如果开发人员看到一个Bug 描述不清楚,还无法重现,他肯定会骂测试人员。 所以测试人员一定要写好Bug,描述精确,简洁,没有歧义,详细简洁的重现步骤,加截图。

 测试人员应该懂一些基本的编程

  你的产品是用C# 开发的,那测试人员应该有C#的入门知识。 你测试web程序,你起码要了解HTML,CSS, Javascript, Jquery吧,否则你测了一两年web程序,都不知道这东西是怎么做的,悲剧了吧。

  只有懂代码你才能和开发人员交流,不被开发鄙视。

测试人员搭建开发环境

  产品的代码是最好的学习资料了,我们不能总跟在开发屁股后面做测试,不能老是等开发build一个版本后,我们就测试这个版本,开发check in了什么代码,测试人员一点都不知道。偶尔我们应该了解下产品代码是怎么设计的,了解下开发人员是如何修复bug的。说不定编程水平高了,还能帮开发做code review.

  使用源代码工具把产品代码check out到本机。 经常看看代码,经常看看开发修复bug时候提交的代码.

写文档是测试人员的核心能力

  我记得我以前的test lead说,之所以她能当lead, 是因为她很会写文档发邮件。 写文档需要总结归纳的能力,还要逻辑清晰。 她非常擅长分析几十页的Spec,写出几十页的测试计划。 她还非常擅长汇总测试报告。 每天将完整,清晰,漂亮的测试报告发给各个组, 让公司所有的人都能清晰的看到测试组的工作。

  在她的带领下,我们总结出很多文档,比如,”New hire checklist”, “on boarding traning”, 测试工具使用的文档,等等。

  写多了博客后我发现我写文档能力提高了很多。

测试后期应该做两天交叉测试

  交叉测试,就是指两个测试工程师,互相交换下测试的项目。 这样做有很多好处。

  1. 有利于找出bug, 测试工程师测久了自己的项目,容易形成眼盲。会对一些Bug熟视无睹。

  2. 有利于知识和业务共享,避免人员离职,请假,造成无人测试的情况。

  3. 测试思想不一样,可以互相找出很多问题

测试人员的瓶颈

  手动测试工作做个两三年,基本上就能掌握测试需要的大部分知识,如果没有爬到test lead的位置, 很多人就感觉到发展瓶颈了,每天重复测试,学不到东西,很快就会对测试工作失去激情。

  学不到东西,技术水平低下,是测试这个行业最大的毛病。

  如何突破瓶颈? 我也不知道。

尽量实现自动化

  一点要抽时间尽量把自己的测试工作实现自动化,可以节省测试的时间,提高自己的技术水平,也可以避免老是重复测试。

自动化测试VS手动测试

  现在很多公司招测试的要求越来越高,很多好公司招senior QA,都要求5年工作经验以上,掌握一门编程语言,有丰富的自动化测试经验。当然自动化测试的待遇也会比手动测试好很多。

  自动化是趋势, 只会做手动测试的人,以后肯定会失去竞争力。

自动化测试的技术和开发用到的技术相差太远

  以前很多同事想由测试转开发,现在几年过去了,还是没转成,他们原先想利用自动化测试的技术积累,转去做开发。哪知道自动化测试用到的技术跟开发用到的技术相比,实在是相差太远。

  测试转开发? 难

 努力学习编码,然后用于测试,才是正道

  做测试最郁闷的是无法听懂开发人员讨论技术

  有时候跟开发人员一起开会, 会议上开发人员都热烈讨论。 而我做为测试人员基本上听不懂这群开发在说什么,根本插不上话。 很多会议我甚至都没说过一句话。

优秀的测试人员非常稀少

  想把测试做好非常不容易, 优秀的测试人员需要很广的知识面,良好的沟通能力(不但要和开发人员和项目经理打交道,还要跟其他组的人交流)。 丰富的测试经验,对测试工作有极大的热情, 耐心。还需要测试人员有丰富的业务知识,还要会写代码。

  代码写得好的人,肯定就不会做测试,而是做开发去了。

大部分的测试经理都是有开发背景的

  我发现我的几任上司都是由开发转来做测试的。 他们都是有几年的开发经验,然后不知道什么原因转行做测试经理了。他们既能开发又能测试,啥都会,能给手下的测试人员提供技术支持。

  假如一个测试经理啥技术都不懂,对内hold不住手下的人,对外其他组的人不鸟你。

软件测试的确非常枯燥,需要花费大量精力

  不可否认测试工作需要耗费大量的精力,所以欧美才会把大量的测试职位外包给中国, 一遍又一遍的重复测试,不停地执行测试用例, 测得天昏地暗, 头发晕。

  我还记得我以前测试过一个程序的各个版本在Windows update中的升级, 先安装老版本的程序,然后Windows update 重启后看看有没有升级,最后卸载。 然后又安装,又卸载。最后测的差点吐血。

英语是测试人员的救命稻草

  技术上已经不如开发了。 在英语上一定占有一些优势。

  同等的技术水平下,英语好的测试人员可以进外企,比一个英语不好的测试人员的待遇要高不少。

尽量少用UI自动化测试,多使用单元测试,接口测试

  能找到bug的自动化测试,才是有用的,否则就是个噱头

  UI自动化测试比较不稳定,对于测试结果的分析也困难。 而且UI改动也大。 所以应该尽量多做一些底层的的自动化测试,比如ASP.NET MVC 中UI和逻辑分开了,针对逻辑的自动化测试就比较好做了。

测试经验总结(“二次开发”)的更多相关文章

  1. 最好最实用的二次开发教程 cms

    ◆二次开发 什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一 般来说都不会改变原有系统的内核. 为什么要二次开发? 随着信息化技术的不断 ...

  2. Cad 二次开发关于SelectCrossingPolygon和SelectFence返回结果Status为error的小测试

    CAD2008的二次开发,有个很奇怪的现象,只要你选择的点集不在当前视图上SelectCrossingPolygon和SelectFence返回结果Status就会为error,所以要获取正确的结果, ...

  3. Halcon的C#二次开发及经验分享

    本文涉及面较广,因此很难在所有方面都讲解得很详细,故适合具有一定Halcon开发经验的人阅读. 1.Halcon二次开发的两种方式 ① 使用C#的语法方式逐句改写Halcon代码 优点:各种变量的类型 ...

  4. ODI KM二次开发手册

    ODI KM二次开发手册   分类: ODI(16) 目录(?)[+] 1 引言 1.1 编写目的 本手册面向的读者对象为具备数据集成业务知识及对ODI操作了解的开发人员,作为其完成基于ODI基础上K ...

  5. 金蝶K3 wise 插件二次开发与配置

    金蝶K3 wise 插件二次开发与配置 开发环境:K/3 Wise 13.0.K/3 Bos开发平台.Visual Basic 6.0 目录 一.二次开发插件编程二.代码演示三.配置插件四.测试插件五 ...

  6. Android VLC播放器二次开发3——音乐播放(歌曲列表+歌词同步滚动)

    今天讲一下对VLC播放器音频播放功能进行二次开发,讲解如何改造音乐播放相关功能.最近一直在忙着优化视频解码部分代码,因为我的视频播放器需要在一台主频比较低的机器上跑(800M主频),所以视频解码能力受 ...

  7. 0421--"数字口袋精灵app"二次开发(Blackbriar团队开发)

    "数字口袋精灵app"二次开发 目录: 一.项目github总仓库推送 二.开发成员 三.分工与合作 四.各模块成果 五.心得墙 六.团队成员贡献分 内容: 一.项目github总 ...

  8. 基于AndroidPn二次开发的可行性

    一.背景 如果要自己搭建,从零开始做或基于开源进行修改扩充,开源的push引擎,90%的博文首推AndroidPN,结合公司现状,最优解决方案就是进行AndroidPN的二次开发了.先看一下这个项目: ...

  9. EasyNVR网页Chrome无插件播放摄像机视频功能二次开发之云台控制接口示例代码

    随着多媒体技术和网络通信技术的迅速发展,视频监控技术在电力系统.电信行业.工业监控.工地.城市交通.水利系统.社区安防等领域得到越来越广泛的应用.摄像头直播视频监控通过网络直接连接,可达到的世界任何角 ...

随机推荐

  1. DOM – 7.动态创建DOM + 8.innerText innerHTML value

    7.动态创建DOM 8.innerText  innerHTML  value 7+8 练习:案例:点击按钮动态增加网站列表,分两列,第一列为网站的名字,第二列为带网站超链接的网站名.增加三行常见网站 ...

  2. ActiveMQ的几种消息持久化机制

    为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制. ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,无论使用哪种持久化方式 ...

  3. 安装oracle 10g RAC执行的几个脚本说明

    1,/u01/app/oracle/oraInventory/orainstRoot.sh 脚本 #!/bin/sh if [ -d "/etc" ]; then /etc; fi ...

  4. SQLite密码添加移除

    背景:电脑清理--个人洁癖 SQLite的最原始的是没有加密的,从而衍生了多种加密算法,但在平常使用中使用System.Data.Sqlite,但其加密后,一般都需要要单独的sqlite管理器--像我 ...

  5. 第四篇:SOUI资源文件组织

    什么是资源? 现代的软件只要有UI,基本上少不了资源. 资源是什么?资源就是在程序运行时提供固定的数据源的文件. 在MFC当道的时代,资源一般就是位图(Bitmap),图标(Icon),光标(Curs ...

  6. python学习第二天

    dict字典 把数据放入dict:直接赋值.初始化时指定 pop删除key set集合 add添加元素 remove删除元素 字符串str是不可变对象,对字符串的操作都会返回新的字符串 pass 什么 ...

  7. Servlet3.0新特性

    1 Servlet3.0新特性概述 使用要求:MyEclipse10.0或以上版本,发布到Tomcat7.0或以上版本,创建JavaEE6.0应用! Servlete3.0的主要新特性如下三部分: 使 ...

  8. python 线程之 threading(一)

    threading:基于对象和类的较高层面上的接口,threading模块在内部使用_thread模块来实现线程的对象以及常用的同步化工具的功能. 使用定制类的方式继承 threading.Threa ...

  9. JS_ECMA基本语法中的几种封装的小函数

      先来回顾一下我们的字符串: 字符串方法: str.length str.charAt(i):取字符串中的某一个; str.indexOf('e');找第一个出现的位置;找不到返回-1; str.l ...

  10. 20145223《Java程序程序设计》第9周学习总结

    20145223<Java程序设计>第9周学习总结 教材学习内容总结 第十六章:整合数据库 JDBC入门 1.JDBC简介: 2.JDBC主要分成两个部分,JDBC应用程序开发者接口和JD ...