测试那些事儿--一年测试工作总结

   今天已经是新年的第四天了,在这个辞旧迎新的时刻,来总结下这工作1年零4个月的工作经历,说说自己对目前工作的看法和测试这个工作的感想。博客园是个技术论坛,也是我第一次写博客,目的没有什么,只是想记录下自己一年的工作感悟。

测试真的简单?

 
   工作一年多的我现在看测试感觉并不简单,做功能测试就很简单么?比如:已知三个边是a,b,c, 如何证明这三条边可以组成三角形?答案很简单,任意两边之和大于第三边,任意两边之差小于第三边。如果写测试用例的话,即a+b>c,a+c>b,b+c>a,a-b<c,a-c<b,b-c<a.
有效等价类:
输入3个正整数或正小数:
1、两数之和大于第三数,如
a+b>c,a+c>b,b+c>a
2、两数之差小于第三数,如
a-b<c,a-c<b,b-c<a.
3、两数之和不大于第三数
4、两数相等,如
A=B或B=C或C=A
5、三数相等,如A=B=C
6、三数不相等,如
A!=B,B!=C,C!=A                
无效等价类:
1、空
2、负整数
3、非数字
4、少于三个数

  上面只是说到功能测试,其实没啥,我想说的是,作为一个测试,应该对需求深挖掘。正常的测试用例要想到,那么异常的用例也不能遗漏。而且很多情况下,异常用例更需要测试,BUG往往总是这个时候发现的。工作这一年,我所了解的不但有功能测试,还有自动化测试、性能测试、安全测试,这里还有移动端的测试。安全测试和移动端测试我现在没做什么涉及。由于我现在的工作,几乎没涉及自动化测试,那么只能自己学习咯。说说下我了解测试职业发展路线吧,小伙伴们都比对下,自己现在是哪个阶段了?

软件测试具体测什么?

   软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。而在平时的工作过程中,我理解的测试,就是测试需求。需求想要到达什么样的一个要求、水准,你测试的预期就得向需求看齐。我觉得往往很多都是一句话需求。在这个时候,你得需要找开发、甚至需求分析,去了解需求到底什么,要完成什么样的功能。笔者以为,这样恰恰浪费了很多时间。别人也许还在忙,没空搭理你呢。那么怎么解决这个问题呢?答案也是有的。在前期需求评审会议的时候,测试参与进去。贯穿整个项目的,那么这样以来测试人员的作用是不是似乎也就更大了点呢。参加需求评审会议的同时,测试人员遇到不懂的,疑问的地方,可以随时提出来问。这些都是理想中的,现实中,每个公司采取的制度、流程都不一样,如果没有这样的会议,你可以找项目经理沟通,让你在项目启动的时候就参与进去。除非是紧急上线,突然安排测试个什么东东。参加完评审会议之后,测试人员做什么?我想每一个测试人员都知道,当然是写测试用例。写测试用例的目的是什么呢?这个我会在以后的博文中写。毕竟今天也是第一次写博客嘛。^_^我提个建议,测试用例一定要写,要对需求深挖掘。尤其是很多异常用例,一定要尽可能多的想到。测试用例写完之后,下面用过是测试用例评审会议。等项目开发完成就可以测试了。如何做好功能测试?

1.需求文档是关键,遇到不懂的,马上去看需求

2.熟悉了解被测试系统,各个功能点和各个业务逻辑

3. 测试方法的学习,方法不难掌握,可如何运用到项目中是关键

4. 测试用例设计,在上面三点的基础上设计用例,一个用例可以体现出你对上面三点的掌握程度,要对需求深度挖掘

测试中遇到的问题?

  1. 当一个项目开发完,直接丢给测试,这时候测试是一头雾水,思绪凌乱
  2. 拿到一个项目,以前没做过,不知道如何下手
  3. 测试人员被“小看”

  对于第一个问题,我想唯一避免的方法就是在项目开始的时候,加入到项目中去,从开始就了解项目。从软件开发项目流程来看,前期的加入是有必要的。

拿到一个新项目,不知道如何下手做起,我想很多朋友都遇到过。比如:直接项目经理让对一个提款项目做压力测试。拿到这样的项目,头大啊,不知道怎么做。虽然这个项目,我最终没做成,之后我还是看了压力测试的书籍。从现在的角度来看,性能测试的需求不算明确。这个压力测试,要达到多少吞吐量、并发数、响应时间。这些个玩意,老大也不知道啊。这个不知道没关系,我想这些个性能瓶颈是在测试中慢慢发现的。发现瓶颈问题,及时的控制和提出性能调优建议是测试人员应当具备的技能。类似的问题还有很多,拿到一个问题,不知道如何下手,应该大胆的去做,去尝试,做着做着,就也许发现了思路。不会就问人,网上搜等等。我相信说一万句话,不如着手做一件事。我在这方面也缺失的很多,有些东西不敢做,其实你越不敢做,越不会。

  测试人员被“小看”在中国软件行业是存在这样的问题的,测试的地位相对较低,很多时候被“小看”。其实这个很正常。你想,开发是个从无到有的过程,地位可想而知。现在的很多公司甚至没有测试,开发做完,手动点点直接上线,出了问题,线上直接改。这样的做法是可怕的,万一出问题,损失是无法弥补的,到时候还怎么改,谁去改?在国外我知道的测试,都是有开发经验的,才可以做测试。微软的测试人员比开发还多。开发这项工作,我觉得以后会变的很简单,现有的开发,大多数也都是copy 改。除非是设计,搭个框架什么的。而测试不可能copy,特别是性能测试、安全测试等等。要想做到不被“小看”,没别的办法,只能提高自己的开发技术,代码至少要能看的懂,开发流程要熟悉,这里我还欠缺的很多,我也要不断的提高技术。这有这样才能不被“小看”。

展望未来

  接下来的工作,我要学习的东西还很多,尤其要注重实战,学以致用。做一个优秀的测试需要掌握的东西很多很多。测试没有局限性,好的业务固然也很重要,你像互联网金融、电商平台、通信等等。未来的热门不知道什么,做好眼前事最重要。

1.数据库

数据库的最简单SQL语句会写么?其中的一些函数会了么?什么是left join、right join?字符串的拼接等。

2.Java开发

java开发的中重中之重,从前端到后台,从外到内,深入理解,这些都需要学习。什么重载和重写的区别、StringBuffer和StringBuilder的区别,这些都是最简单、最基础的。

3.Linux环境下操作

最简单的莫过于看日志了。如何抓取某一个你想要的日志?删除日志、给文件改名,统计某一个字符出现的次数。

4.性能测试

压力测试、接口测试

5.自动化测试

Selenium+Maven+TestNG这一套框架都会么?什么叫持续集成?jenkins、hadson都会了么?

6.手机端测试

手机测试又是一个领域,需要学的东西也很多

7.安全测试

这个貌似算是测试比较高的领域了,以后会接触的。我想你做完了上面6条,这第7条,你就会涉及了。

8.测试框架的搭建

这个算是测试之巅了

  入行不深,寥寥几笔,寄语未来,不想多说些什么,更想研究一些具体的问题,未来千头万绪,一切需要从小做起,从现在做起。我想明年这个时候再来总结下,看看都有哪些进步。

  祝福2015,新年、新气象,加油!

 

 

 

 

原文地址:https://www.cnblogs.com/findbugs/p/4200843.html