测试过程
从VMServer4.1产品的alpha版本我就开始进行测试了,直到RC2完成。也算是见证了整个版本的点点滴滴吧。时间上是从5月初到11月初,大概6个月的时间。在这半年的时间里伴随着虚拟化产品越来越健壮的同时,我发现我也在成长。我是从3月7号入职实习,在刚入职的时候是几乎什么都不懂的毕业生。因为我本身不是计算机专业出身,并没有经过系统化的训练,一些计算机的必修课程都没有上过。像“测试用例”这样的名词我根本就没有听说过,就别说如何写测试用例了。还有“python”、“网络存储”、“黑盒白盒”等等我都不了解。对测试这个行业更是一脸的迷茫。所以只能是边学习边测试。Alpha版本领导给我安排的是稍微简单的任务,经过一段时间的了解后,我对该产品有了一定的了解,也可以写些简单的用例了。也开始像其他同事一样提交bug了。Beta1时我对产品已经有了基本的了解,可以正常进行测试了,这次任务也多一些,而且这次是进行了全面测试。所以进度也紧张一些。有时候工作一天真的感觉挺累的,因为测试中会遇到很多问题,对于发现的一些bug你得复现,找出原因在哪里,有些技术相关的测试还得上网查资料。Beta2的时候除了部分功能测试外领导给我增加了性能测试,实话说性能测试要比功能测试需要更多的技术,因为要安装很多开源工具,晚上跑的话还要写一些shell脚本来完成任务。考虑到autotest的更难实现些,我决定使用手动测试,因为我对autotest还不了解。经过这一轮的测试后我的shell水平又上了一个台阶。Beta3的分配任务与以往不同,这次是每人负责整个excel文档的用例,包含的内容很多很丰富。通过测试后我对网络存储、光纤存储、ha等知识有了更深入的认识。RC1时好像测试的时间比较长,发了两次版本。在测试中我对产品有了更深入的了解,产品服务端是使用python写的,使用python语言对基于kvm的虚拟机进行管理。客户端是在qt4上使用c++写的。而这段时间我也在学习python,所以就写了一下脚本来辅助测试。先前我们测试集群列表或者主机列表翻页功能时需要手动添加很多集群或者计算节点,费时费力。我就想着能不能使用脚本创建一些假的集群。经过一段时间的努力我终于完成了一个脚本,当时还是挺兴奋的。原来技术真的可以改变生活的。RC2中发现的问题不是很多,进行的还算顺利。
测试感悟
认真。世间事,最怕“认真”二字,对于一件事情只要你认真付出了就肯定会有收获的。在测试行业也是如此,在我看来测试是易学难精。上手很容易,要想精通却非常的难。从测试对象来说,分为白盒测试和黑盒测试,黑盒测试相对简单些,而白盒测试却需要掌握代码。从测试类型来说,分为功能测试、性能测试、自动化测试。性能测试需要一定的shell脚本水平,自动化测试则需要shell、python水平,因为autotest框架里很多代码都是python来完成的,如果不会的话很难完成任务的。从测试职位来说,大概分为测试工程师和测试开发工程师,测试开发工程师已经具有开发的水平了,可以确定的说一个优秀的测试开发工程师绝对不比一个普通的程序开发工程师差。但是,只要你认真了,所有的问题都不是问题。
学习。当前这个大环境,竞争很激烈,社会节奏非常的快。我认为如果我不去学习,十年、二十年后可能就会被社会淘汰。而只有多学习、掌握一定的技能才可以让一个人在社会中立于不败之地。在计算机行业的技能大体可以两类,一类是计算机领域知识,一类是编程能力。计算机领域知识比如IP/TCP网络协议、usb协议、存储(硬盘、U盘、网络存储、光纤存储)、操作系统原理、linux内核、文件系统(ext3、ext4、ntfs、vfat、xfs、mfs分布式等),编程能力则主要是对编程语言的运用,使用编程语言来解决遇到的问题。其中任意拿出一小块来就足够我们研究一辈子的了。而测试人员对计算机领域的知识的要求要高一些,有些同学认为测试学不到东西,这可能吗?所以人生已不易,且学且珍惜。
勤奋。一个人比我聪明并不可怕,可怕的是人家比我还勤奋。我自认为不够聪明,所以我要以勤来补拙。古人云:勤能补拙是良训,一分辛苦一分甜。
产品意见
我的整体感觉是VMserver产品,在安装使用上比较简单,在这点上可以完胜其他虚拟化产品像VMServer vsphere。
前一段时间,我使用linpack工具对VMServer、VMWare workstation、Virtual box这三款产品做了一下单纯的CPU浮点运算测试,发现VMServer跟其他两款产品还是有一定的差距。
提几个意见吧:
- 产品安全方面做的不够,希望能增加管理员用户和普通用户。
- 添加计算节点希望可以增加密码验证,这点安全上做的也不够好。
- 虚拟机名称希望可以支持中文,更人性化些。
测试意见
在后几个小版本是每个人分一大块来测试,比如有server客户端测试、client客户端测试、windows客户端测试。这样的好处是,对于同一个用例更容易发现问题,因为同样的用例会被三个人测试(有些用例跟平台没有关系)。每个人负责的东西也更全面些。但是这样一来会导致每个人的任务加大了,测试的时间也会更长一些,如果在规定的时间内测完可能会更紧张一些,也更累一些。也会导致测试效率的降低和测试结果的不够准确。
未来打算
我计划利用从现在到下个大版本出来之前,深入学习python、c++和qt,争取能读懂客户端的代码。以备在下个版本测试时发现些高质量的bug以及写出高质量的脚本。如果可能的话我想寻找一款界面的自动化测试工具,以便在界面测试中代替一些机械的手工测试,提高工作效率。