返回列表 发帖

软件测试是何物?

软件测试是何物?
说起来学习计算机已经有六七年了,而进入软件测试这个行业也是有两年多了。记得最开始投入到测试的目的是因为容易进大公司。我身边的同学们都很鄙视测试行业,认为没有什么技术含量,而我却有些恋上它了,而且打算就这么做下去。
  什么是测试?对于测试的定义有成千上万种,而我更喜欢接受的是“测试是一种证伪的过程”这种定义。记得高中上物理课的时候老师曾经举过一个例子,说怎么证明我们的手是干净的,我们用一盆干净的水去洗手,当洗完后水还是干净的,那证明我们的手是干净的。这样讲可能是有一些绕口,换句话说就是用清水去证明我们的手是脏的。我们测试也是这样,我们是去验证它的错误,而不是证明他是一个多么高明的软件。
  测试真的比开发低一等么?老实说,是的,起码在国内一些软件作坊里是这样的,他们不重视软件质量,或者根本就不愿意花那份钱去组织一个测试团队。而我对国内的一些测试人员也是很气愤的,他们往往不喜欢在测试领域站住脚,不想在这个领域有大的发展,只是因为测试人员的门槛相对比较低而投入到这一行业。而我下面给大家列出来,我认为的在测试领域的职业发展层次:
  手工测试人员,这一类人是测试最底层的测试人员,也是当前被coder最瞧不起的一部分人。而我要说的是,手工测试是一切测试的基础,是我们软件质量保证的关键。对手工测试人员的要求比较起来要比编码人员(这里指的是大部分的Coder)的要求高,对于最底层的开发人员来说,他们只需要学会怎么照着别人代码拷贝就可以了。而对于手工测试人员来说,这就需要一些trouble shooting的能力了。在这一个档次上来说,测试是相当锻炼人的。  
  
  测试系统搭建人员,测试环境的搭建,对于我们测试来说是至关重要,它能够保证软件缺陷的重现,它能保证测试版本的计划有序。当前,在我们的测试项目组里面,测试环境的搭建和手工测试是一起做的,这对于新进入测试行业的人来说,是一个很大的提高。顺便提一句,这种人员要学会使用脚本语言,如,shell,vbScript,JScript,python,perl等 。
  脚本开发人员,首先要说的是,开发语言并不是开发人员的专有工具,一个好的测试人员,在技术上身只要超过一个好的开发人员(打气)。这种人就要学习一些自动化技术,掌握一些自动化测试框架,对测试用例有很好地了解。
  
  测试设计人员,对于测试的设计是一个非常精细的活,他首先要对被测软件有深刻的理解,在我们看来,他就是架构师,对于测试用例的设计,是整个测试过程的核心。一个好的测试用例集,能够很大的降低成本,提高自动化程度 。
  测试框架开发人员,它应该是和测试设计人员是一样的档次,因为我没做过相关的工作。从我的角度来看,他们是一群高手。
  
  软件度量与评估,hehe,上升到纯理论了,记得曾经学过一门这样的课,感觉就是一群经验丰富的测试人员和开发人员的集合,这需要丰富的测试和开发经验 。
  解决方案风险评估顾问,老实说,写到上一个,我就开始杜撰了。
  在这里再介绍一下想进入测试这行的人员的入门方式:
  学好一门操作系统,然后学好一门编程语言,如C或者C++。然后找本测试相关的书看看,如《软件测试技术大全:测试基础、流行工具、项目实战》(http://www.china-pub.com/39875
  
  想一想我要是测试我眼前的这个显示器,应该怎么写测试用例呢
http://www.china-pub.com/39938

返回列表