软件测试知多少? ——新手上路

我们团队WP7上基于Academic Search 的会议助手手机客 户端的alpha版本已经结束。在团队中,限于团队规模,每个人都会做点dev的事情,但是 我的最为主要的角色就是tester,以前从未做过tester,一个月的alpha版本开发下来,我在tester的岗位上也有许多的感想,我想,把它 们都记下了,希望它见证我们的成长,当然,希望能够得到大家的指点,从众人的认知领域获得我们能汲取的经验和知识。

  理论上我们学到了什么?

  我想,人们对于test最基本的认识,莫过于尝试使用软件,找出bug。事实上,真正做测试的时候要有很规范的流程。我简要的挑几个概念跟大家分享一下。

  1)测试计划:测试计划描述测试活动的主要方面,why?what?who?when?。详细的说包含一下方面:

  测试的策略和方法、测试日程安排、质量目标、资源、测试变量矩阵。

  2)什么是测试变量矩阵:

  简单的说,测试变量矩阵是通过考量用户类型,系统的OS,语言,浏览器类型,网络情况等各种因素,来确定测试变量数目以后列出的一个表格,测试变量矩阵是测试人员进行测试的蓝本。

  3)软件测试的方法:

  这里首先澄清一下,我们常说的黑箱测试和白箱测试其实并不是指的某种软件测试的方法,它们是两类软件测试设计的方法。我们OMG团队在alpha版本里主要采用的软件测试方法集中在功能测试和非功能测试。

  软件测试方法,按功能测试分类,有单元测试(验证测试每个单元程序的正确性)、模块功能测试(测试每个模块的功能)、集成测试(几个相互依赖的模块的功能的测试)、场景测试(验证能否完成特定的用户场景)、系统测试和alpha测试(alpha发布在实际的用户环境中对软件测试)。而非功能测试包括负载测试,效能测试,本地化/全球化测试,兼容性测试,配置测试,易用性测试和软件安全测试等。

  当然,软件测试的方法还有很多,包括代码覆盖率测试(PS:对于新手的我来说,我真不知道如何设计代码覆盖测试方法。。。求高人指点)、验收测试、回归测试、“探索式”测试等等。

  作为tester有何工作感想?

  首先,我想说,主要角色是tester, 尽管我做的dev的工作相对较少,但是,我不觉得自己比别人贡献的少。

  很多人会有种执念,做软件开发,不做dev似乎就没有动力。其实,通过一个月的实践,我觉得,社会本就是高度分工的。tester在一个软件开发中起到的作用也是不可忽视的。很简单,如果不做各种测试,软件性能如何去评测?如何保证最后release的产品能够很好的满足用户的需求?

  其次,test工作并没有想象中的那么容易。

   一开始,接手tester的角色,心里想自己的工作压力应该是比较小的。事实证明,真正用心去做好一个tester,还是需要付出很多的努力。在产品的 计划阶段,tester要讨论测试计划,调研和收集用户对软件的非功能性需求,比如软件的效能,易用性等的信息,确定我们的非功能性测试标准;在开发阶 段,tester需要及时的进行BVT(Build Verification Test),及时提交bug给dev,另外,作为tester,需要想很多“探索性测试”的例子,随机的验证软件的稳定性和鲁棒性;而当进入稳定阶段后, 尤其是alpha版本发布后,tester需要收集用户的alpha试用反馈,确定beta版本的测试标准。

  最后也是最重要的一点,tester应该有怎么样的素质。

  做了把tester,才知道,tester不是那么好做的,当然,自己水平是那么那么的有限,所掌握的和接触的知识也是比较少的。结合我的工作体验,我发现了一下几点:

  1、足够细心、耐心和信心。

   首先你得相信自己有足够的创造性和好奇心,要相信自己能挑出软件的bug。然后你才有动力去尝试各种可能的case,如果没有了好奇心,打打酱油或许某 个bug就不经意间溜走了。而耐心和细心是做好任何工作的基础。tester的工作,更是这样,试想一下,某个功能或者某个用户场景,你需要尽可能多的设 想各种test case去挑剔它,其实,有时候并不是那么的有意思的事情。

  2、见多识广,基础要好。

   我作为一个非CS专业的tester,更是对这一点体会有嘉。tester在设计黑箱测试方法的时候还更多地依赖创造性好奇心等。然而做白箱测试,代码 的结构其实是对你透明的,能不能专业的分析代码结构,能不能敏锐的察觉代码中可能的风险或纰漏,这就是考验一个tester专业技能的时候了。另外,见多 识广很重要,tester要是能了解IT的各个方向,背景知识比较的多,对他来说,设计更好更有创造性的test case是相当有利的。

  3、学习与钻研精神。

  取人之长,补己之短,他山之石,可以攻玉。老祖宗都说烂了。但是,我的经历又一次检验了它。我从一开始连test plan都不知道如何下笔,到今天写下这篇日志,我觉得,这就是从学习的过程中积累下来的,尽管我刚刚接触它,我的这些文字看上去显得稚嫩而有浅显,但是,学习让我成长,我也相信,学习能让每一个都或者成功,或者成长。与君共勉。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-12 15:15:40

软件测试知多少? ——新手上路的相关文章

EAServer 新手上路----JaguarCts开发者必读

server SyBase EnterPrise Application Server新手上路 Sybase EAServer的文章也有一些,很少提及到开发中的一些细节问题.本人从事JaguarCts开发不久,遇到了许多细节问题,想来刚从事JaguarCts开发者也会遇上,以做参考,另则心中还存有许多问题,故撰此文,起抛砖引玉之效,望JaguarCts高手能释疑,深表感谢. 一.系统配置部分:1. 运行环境:WIN2000 SERVER版,SP2补丁,P3850CPU,PB8.0Beta+EAS

PHP新手上路基础教程目录

基础教程 PHP新手上路基础入门教程目录清单,本教程由网页教学网收集整理希望对初学PHP的朋友有所帮助,当您转载时别忘了加上本站的连接,谢谢! PHP新手上路基础简介 为什么要选择PHP 从一个简单的程序来了解PHP PHP入门之数据类型 建设一个简单交互的网站(一) 用include和require进行模块化,从HTML到PHP 建设一个简单交互的网站(二) 计数器 反馈表单 站内搜索引擎 建设一个简单交互的网站(三) 密码验证 建设一个简单交互的网站(四) 文件上传 建设一个简单交互的网站(

归并排序-新手上路,链表学习中,问题是对功能函数不理解,问题已备注,请帮我在问题处写思路,尤其功能函数,谢谢!

问题描述 新手上路,链表学习中,问题是对功能函数不理解,问题已备注,请帮我在问题处写思路,尤其功能函数,谢谢! //第九章章末习题第10题#include//建立a b两链表包含学号成绩,把两个链表合并升序排列输出.求思路!#include#define LEN sizeof(struct student) struct student{ long num; int score; struct student * next; };struct student listalistb;int nsu

[新手上路]为什么同样一个sql文件 导入mysql毫无问题但是导入sql2005各种报语法错误

问题描述 [新手上路]为什么同样一个sql文件 导入mysql毫无问题但是导入sql2005各种报语法错误 DROP TABLE IF EXISTS messages; CREATE TABLE messages (id int(11) NOT NULL AUTO_INCREMENT,saver varchar(255) DEFAULT NULL,savetime varchar(255) DEFAULT NULL,content varchar(255) DEFAULT NULL,recont

安卓加速度传感器-[新手上路]安卓?怎么调用加速度传感器的数据

问题描述 [新手上路]安卓?怎么调用加速度传感器的数据 大神们有没有代码包,或者在哪里可以找到类似的程序源代码想要加速度传感器数据进行处理 解决方案 http://blog.sina.com.cn/s/blog_45e6be0801013mzm.html

新手上路

问题描述 请问下在这论坛上面怎么下载东西我看了半天都没看到需要积分下载还是什么的 解决方案 解决方案二:有下载频道,去下载频道去下.有的需要积分,有的不需要积分.下载积分.解决方案三:先后找到下面图中的2个按钮:http://hi.csdn.net/attachment/201111/9/139605_1320815592s41G.jpg解决方案四:飘过哈·解决方案五:新手上路危险啊.解决方案六: 解决方案七:我们一样,呵呵,互相鼓励,共同进步解决方案八:新手上路了,大家让开点,被被碰着啦!快闪

金牛写卡8 1的用法-金牛读卡 金牛写卡8.1的用法 新手上路 求老师讲解

问题描述 金牛读卡 金牛写卡8.1的用法 新手上路 求老师讲解 金牛写卡8.1的用法 新手上路 求老师讲解

c语言-新手上路,求教一个C语言问题

问题描述 新手上路,求教一个C语言问题 C语言,输出n个学生成绩,并把输出的成绩从大到小排序,求代码...... 解决方案 这个书上有吧..... 解决方案二: 代码还是要自己写.不要这样 解决方案三: c语言中的一个问题关于C语言的一个问题一个C语言问题---------------------- 解决方案四: 就用if语句就行了,把学生成绩定为数组,然后从第一个开始与下一个比较,如果前面的小于后面的就交换,就是冒泡法排序. 解决方案五: ? //依次输入10个学生的成绩 #include?"

本人自学编程新手上路请问我的这个怎么错了

问题描述 本人自学编程新手上路请问我的这个怎么错了 解决方案 目测中英文不区分问题,在编程的时候切记切换为英文状态,而且最后一行应该是:printf("n"); 解决方案二: 第一个for循环中最后一个表达式怎么是1==,这是啥意思啊? 解决方案三: i==应该是i++吧,而且最后一行应该是:printf("n");

新手上路 看阳台上都能种点啥

你还在沉迷于网络的http://www.aliyun.com/zixun/aggregation/5781.html">开心农场吗?在代女士的眼里这项游戏已经OUT了,要玩就玩真的.没有菜地?没关系,小小的阳台也可以绿意盎然.在阳台上种蔬菜好处多多,不仅能观赏.食用,还能起到净化室内空气.调节空气湿度的作用.那么,阳台种菜需要注意啥?为此,记者采访了种菜达人代女士,让我们跟她一起,实现"有点田"的生活理想吧! 新手上路 看阳台上都能种点啥 阳台能种什么菜?这由两方面决定