测试工程师笔试题目
请在答题纸上写清姓名,开始时间,结束时间及题号,试卷打完回收,请不要在试卷上涂写,谢谢!
一、 公共部分:
1. 你的期望薪资是多少?
2. 如果可能,你能够在录用后多长时间内到公司报到?
二、 测试理论:
1. 请简述测试工程师的组要职责
2. 请简述作为一个测试工程师所需要具备哪些素质和技能,你现在已经具备了哪些?
3. 描述一个软件测试的完整流程都有哪些工作要做。
4. 你是否了解项目的完整开发流程,如果可以,请简述这个流程
5. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
6. 您认为做好测试计划工作的关键是什么?
三、 测试用例:
请简单扼要例举一个你曾做过的测试用例(项目不限,模块不限)
网友亲身经历:华为面试流程
网友亲身经历:华为面试流程:
OK,回到宿舍了,开始写吧
其实在此之前,因为受到一些参加华为社招的朋友的影响,我一直以为华为是最容易搞掂的,面面技术而已嘛,结果------却让我大跌眼镜,技术问题很少涉及,晕死...
此次华为招聘,每个人面试的轮数都不同,大多是四面,而且是一天面完,运气好的三面搞掂,营销类多的达到了7轮,而我-------悲壮地面了6次??
大家应该都知道这次华为招聘不面向广工,参加了一面的几位信工的同学都是上周日在中大霸王笔的,嘿嘿~~~其实我发现根本不用笔试,只要直接在周一把简历交给华为的HR就可以了,呵呵,然后我在当天晚上便收到了面试通知
第一面,资格审查,主要是检查你的证书是否是真的,面试官是非常NICE的李经理,他的问题一般就如,咦?你的学生证怎么有涂过的痕迹啊?是不是你的啊?
之类的东西,我照实回答了他。同时,在他问我简历经历的时候,我还大肆吹捧华为
例如,他问:”你接触过这么多CISCO的设备,有没有接触过华为的啊?“我立马回答:”有接触过,特别在我在XXX公司(华为3COM金代)实习的时候,我了解到华为在中国的销量已经远远超过了CISCO,而且华为的增长还在不断增长,销售额预计在今年达到XXX,而CISCO上个财年才XXX”
我一抬头,发现他居然在偷笑,哈哈,看来人还是要被拍马屁才行,另外就是,平时吹水时候引用的数据在重要时刻居然派上用场,所以大家要多多积累哦!
之后又回答了关于华为高端产品的一些问题,NE80,NE60,8500那些,特别当我提到有参加过3COM8800发布会的时候,他更是露出了满意的笑容,呵呵,对一家公司的了解更能增加面试官对你的印象分
对了,还有几个常见的问题也被问到了,例如你觉得自己有什么不足?你的朋友是如何描述你的用一个词总结,这些问题大家搜一搜就能查到。
一个小时后,一面结束,应该是过了,我想又填了份表之后,已经到中午了,下午3点终于到我了,二面的面试官很年轻,我心想,哈哈,这个愣头青,应该要面我技术了吧,随随便便搞定你!
进去坐下以后,发现他在看我简历时候不断的阴笑,然后突然来了一句:“过了六级啊,怎么口语一般啊?”我始料未及,随口回答:“因为六级这些主要注重读嘛,而口语我不是怎么练。”他立刻用他比我还烂的口语要我用E文介绍一下自己,嘿嘿~~~这怎么会难倒我啊,一早就准备好了
呵呵,大家面试前要准备一段2-3分钟的SELF-INTRODUCTION哦!因为会紧张的缘故,语速加快,你准备2-3分钟,可能1分钟不到就说完了
我扬扬洒洒讲完之后,他居然再次用他那奇烂无比的E文从我的自我介绍中挑出些问题问我,晕死,这些忘记准备了啊,只好硬着头皮回答,汗~
中间有些问题记不得了,最后他问我“你觉得自己的缺陷在哪里?”我刚好上轮被问到过,立刻回答:“我对一些技术问题比较执着,并有时会与别人发生碰撞。”“恩,那你觉得是什么原因造成的呢?”“大概因为是大家都比较年轻气盛吧”,说完,他笑了笑,要我出去等(在后来,我发现了这里的回答是大错特错的,甚至成了致命伤)
之后我听到了极不愿意听到的HR小姐的声音:“XXX同学,你今天的面试就到此结束了。”完了,我心中一惊,根本还没有发挥出来就要被拒?
在此后等待通知的2天里我心中是忐忑不安的,情绪也极为急噪,呵呵,现在想起来一个真正成熟的人是不应该如此坐立不安的。不过还好,我没有失去信心,自从参加完华为笔试碰到那些从来没有摸过的数电模电以来,我就一直给自己打气,你一定会成功的!
呵呵,说到这里,不得不谈一下很多同学遇到的状况,就是当连续遇到挫折,比如笔试很多不懂(我华为笔试估计40分不到),面试频繁失败的时候,很多人会进入一个丧失斗志的阶段,在这里我想说的是当你已经完全绝望的时候,请再坚持三天!这三天过后,也许世界就是另外一个样子。
周四的晚上是最难熬的夜晚,当我一个朋友电话告诉我他收到IBM一面通知之后,我小心翼翼地打开了邮箱,看到了熟悉的字样————————0封新邮件!完了,已经印证了我最坏的打算,华为和IBM双双落空!这个时候的我的心情可想而知,因为在我身后有很多双注视着我的眼睛,我不想让他们失望或得意,于是我走出了最后一步————去华为霸王面!(事后证明我的决定是多么的正确,呵呵,)
于是第二天清早我直奔招聘现场,在这里我遇到了一位对我有知遇之恩的人————肖经理,当时他从会场出来上厕所,我抓住机会冲过去,把简历塞在他手里,他看了看后对我说:“你没有进三面?”“是啊,技术面我都还没有参加啊,不知道为什么被拒了”“你等下,我一会跟你沟通一下。”看来有戏!果然,在等了大概一个小时后,肖经理喊我的名字,终于要面技术了,我一定要好好发挥!
可是所谓的技术面基本没有什么技术含量,只是肖经理对我的鼓舞让我信心百倍,果然“士为伯乐而荣”啊!他问我的技术问题大概就类似于“请简单介绍一下OSPF吧”这种,于是我抓住这些机会大肆发挥,并从最细节的部分描述,还没等我把OSPF包只能容纳5400条TYPE1LSA因此限制了区域大小描述完,他就说“够了够了”,然后还有就是要我用E文描述我的一个比较大的项目----广州网通城域网阔容工程,我当然还是驾轻就熟,详细说明了一下,其中有说到GSR和6509,于是他又用英文问我GSR和L3的区别,我给他噼里啪啦答了一大串,哈哈,看你怕未!
其实在这个项目中我只负责工程实施,但我把自己描述成俨然一副项目负责人的样子,哈哈。说到这里,想总结一下撒谎的技巧,首先一点你必须对你要撒谎的内容和流程非常了解,其次你要能做到撒谎时面不改色心不跳,这样就够了,这里并非鼓励大家撒谎,而是因为有些用人单位盲目要求,一般本科生哪会有什么工作经验?!而且只要对自己从事的领域够了解,你做起来肯定也不会差!呵呵,个人建议,仅供参考。
之后肖经理的问题也开始变得难以预测,他问:“如果CISCO给你开更高的薪酬,有更好的职业发展,你会不会去啊?”废话,当然去了,还用问吗?我虽心想如此,但还是非常诚恳得对他说:“我既然已经选择了华为,当然不会再去CISCO。”他当然也不会这么轻易放过我,继续追问:
“你为什么不会选择CISCO,说说真正得原因。”
“恩??因为我觉得CISCO总是看不起华为,比如有时CISCO得高峰论坛上,CISCO的人总是在攻击华为,比如上次讲NAC,CISCO的XXX就大骂华为抄袭他们的解决方案。而华为却从来没有骂过CISCO”
“呵,也许他们说的是对的呢。但这个我想不是我要的答案,你也不要跟我说什么爱国主义,那些都是放P。”
我晕??¥·#%,晕完后继续回答:“呜??因为象CISCO这类公司分工都比较细,每个人都只能专注于一个小小的方面,而华为面向全球,我们学习的机会更多。”
肖经理还是那句:“这不是我想要的答案。”
晕,你到底要什么答案?我好想问他,犹豫了一会,可能是华为英语要求没有那么高吧?于是说:
“那大概是因为英语吧??”
还没有说完就被他打断了:“请你不要搞错了,我们华为是面向全球的,英语要求不会比CISCO低!”
我心中一惊,立刻转弯说道:“我的意思是我在CISCO中国只能面向中国市场,所以英语要求不高,而在华为是面向全球,则更能加强自己的英语”
看着他不说话,我想可能逃过一劫了,于是试探性的问他:“能给我点提示嘛?”
结果肖经理长篇大论的跟我解释为什么在华为胜过CISCO,其中有些地方还是比较有道理的,不过我自己感觉是好象他很想留住我,呵呵,自多了
最后他问我有什么问题要问他,我不加掩饰的问:“你觉得我合适这个职位嘛?”他笑嘻嘻的说:“还可以,还可以,你先出去等一下吧”
过了一会,我接到四面通知,晕~~~不是吧,又是那个在第二轮刷掉我的家伙,后来我才知道这个年轻的家伙给我做的就是华为著名的压力测试
我坐下后对他说:“你好,又见面了”,他也不笑,说:“又见面了,有什么感想啊,我上次问你的那些问题,你不用我再重复一遍吧”??我靠,这是什么话啊,我于是马上解释上次没有说清楚(就是问我缺陷的那里,我第一次的回答显得我的团队合作能力不够),说自己随着接触的人和事越来越多之后,已经慢慢改掉了与人争执的习惯,等我把想说的一股脑都说完了,他却头也不抬的问我:“还有呢?”
他见我不出声(因为我实在不知道说什么了),又丢了一大堆让我很郁闷的问题出来,现在精选2道如下:
一、
“你口语不行啊?”
“恩。”
“那你怎么去国外啊?”
“我一定会加强自己的口语,使自己胜任这个职位。”
“不好意思啊,我们已经找到英语很好的人了。”
我倒??
二、
“你知道长期驻扎海外艰苦地区是什么含义嘛?”
“知道啊,就是又可能在非洲呆个2年吧。”
“你有没有兄弟姐妹啊?”
“没有啊,我独生的。”
“独生?那你爸妈舍得你去吗?还是不要来华为了吧!”
晕死??
除了这些问题外,有些我也实在记不得了,但是最后我还是顺利通过了压力测试,进入第五轮,综合一面,群殴,部门老总
进入五面的还有一个华工计算机硕士,和另外一个忘记什么学校的,当时我看了看那个华工的简历,我晕~~~~成绩全班第一,1年半微软实习经历??好强的对手~~~~汗一下
五面的面试官是部门的胡总,问的问题也极为随意,而且面部没有任何表情,完全看不出他对你的答案是否满意,现在回忆一些我还有印象的
问题一:我手上有个茶杯,你们假设自己是开茶店的,这时候有个人走进来却要喝咖啡,你没有,怎么办?
这个问题我回答的极差,只是比较了咖啡与茶的优缺点,后来胡总就说既然是全球技术服务部,就要从技术和服务两方面来回答(对了忘记说了,我应聘的是全球技术服务部的海外技术支持,侧重数通,核心网,3G接入网以及无线等方面)
问题二:胡总随手画了四个图形,一个圆中有圆,一个圆中有方,一个方中有圆,一个方中有方,问:你们喜欢哪一个?说说原因
我一看到,马上选了那个圆中有方的,解释是,我觉得这些图形代表一个人的性格,作为一个工程师,需要有坚强的内心,但同时他又要有与人沟通的能力,需要圆润的外表。(呵呵,大概就是这样说的)而其他2人由于被我占了先机,结果回答得非常牵强,哈哈
问题三:华为每个月给你报销1000块电话费,而你打了900,其中有10块是给你女朋友打的,你会不会找华为报销?
这种问题真是让人汗啊!他们两个一个说会,一个说不会,轮到我时,我突然急中生智:“这种情况在我身上是不会发生的,因为我一般会买2台手机,一台用于私人联系,一台用于公司,这样一来不但不会发生胡总说的情况,也不会因为跟女朋友褒电话粥而影响了客户电话。”一直没有表情的胡总听后居然哈哈哈笑了起来,汗~可是更让我汗的是他的答案:“其实呢,华为公司鼓励员工爱工作,更要爱家庭,我们也是鼓励员工尽量报销家里费用的。”~~~~~~~我晕死??
问题四:井盖为什么是圆的?(呵呵,太常见了吧?)
我答了2条,其他人也一人答了2条,呵呵,什么热涨冷缩啦,不会掉下去啦,方便运输啦??结果胡总非常不满意,说:“你们观察问题的范围怎么这么窄!”随后他大概又说了4,5条原因,什么圆的设计参数只有一个(半径),什么圆最节省材料,什么因为井盖节省了材料所以井中挖出的土方也就少了??我边听边汗,虽然很早就知道这道题,但是答案却一直没有想过,晕死??
问题五:情景题,两个网络连在一起,一个爱立信的,一个华为的,客户通过华为这边与爱立信远端的客户通信,这时候突然出现故障,你还不能确定是哪个网络的问题,现在该怎么办?
这个问题他们两个答得好菜,而有过亲身经历的我回答得当然是很完美了,解决办法简单点说就是转接客户压力,呵呵
还有些问题想不起来了,在这个过程中他还要我们为自己每个问题的回答打分,汗~~~
一个半小时后,五面结束
进入六面时,发现身边少了一个人,唉~~~不幸的被淘汰掉了,剩下的是我和那个华工的小硕。当我们听到第六面将要遇到的是华为的全球副总裁王总,激动啊!~~~~终于要见大BOSS了!
晕!王总原来也是个毫无表情的主啊~~~刚见面,头也不抬:“你们两个互相用英文交流一下各自的情况和各自家庭的情况。”#·%·#??·!不得已,只得和那个小硕交流,2分半钟后,王总大致看完了我们简历(晕!他居然没在听我们讲!),说:“好,现在你们各自把对对方性格的评价和自己的性格特点写在纸上。”(再晕!原来他是想看看我们的判断能力!),我们各自写完后,将纸交给他,他一向一向的对比,然后还不停地问:“咦?怎么他写的这条你没有写上啊?你读人的能力不行啊!”
??
由于刚才我看到了那个华工小硕的简历,记住了他的名字,所以我写在纸上的就是“对XXX的评价”,呵呵,这里是一个重点来的哦,否则有可能就因为一个名字把你给淘汰了,原因是:这点小问题都不注意,怎么做得好工作!
而那个华工小硕也不是盖的,虽然不知道我名字,他居然把刚才英文交流时问到的我的英文名字给写上去了!真TM聪明!呵呵
后来王总又问了我们各自一些问题,问我的就如:
你成绩怎么这么差啊!(汗!~~~)
你有什么优势?有毅力(我就把霸王面的经历告诉他了,哈哈)
你为什么要进华为?(还记得三面时肖经理跟我说的话吗?我就把那些照搬过去了,哈哈)
??
到了最后,王总问了一个在我全程面试中一个最难的问题:
“你们两个中,我只会要一个,有一个肯定要被淘汰,你们自己选一个吧。”
晕!!!这时候脑中一片空白,这么努力难道真的会被淘汰?不甘心啊!经过电光火石的思考后,我给出了我觉得非常满意的答案:
“如果华为在这个职位更看中沟通能力,那么我会选他;但若是华为更看中技术,那么我肯定会选我自己。”
呵呵,这一招在谈判中用得很多,就是将绣球抛给对方,而华为的这个职位当然是更看中技术啦,嘿嘿,我好阴险啊~~
可是还没有等我得意多久,王总居然说:“别跟我绕弯子,选一个!”我倒!!!这时候我只好说:“我自己。”可没有想到华工那个小硕比我更阴险,居然说:“我选他。”
再倒!!!
之后,王总要我们出去等,我想,终于是结束了啊??
此时,人已经散得差不多了,王总走了出来告诉我们回去等消息,呵呵!没有什么遗憾了!毕竟努力过了,也把自己性格最真实的一面反映给了华为,即使失败也不怕了!
从早上9点半到下午6点,紧绷的心终于舒展开来,几天来堵在胸口的闷气也一散而光,正当我在准备走入电梯的一刻,肖经理突然走过来,对我和那个华工的GG说:“你们晚上来参加未来同事的见面会吧,你们两差不多定下来了。”
不是吧?这么快??当我再次询问他并得到肯定答复后,我彻底将负担卸下来了??然后我跟那位华工的GG互相击掌,并去吃了顿大餐,爽就一个字!
今天上午,我顺利与华为签约,之间虽然有过猛烈的思想斗争,但最后我还是选择了华为,呵呵。
到此为止,我的面筋就写完了,现在总结一下,毕竟这次华为面试教给了我太多太多
首先就是找工的态度,因为最初我就是打算去BS华为,而并非找一份工作,所以失败也是理所当然的。
然后就是对校园招聘的理解,以前参加过一些社会招聘并顺利拿到OFFER
,并就
此以为校园也是如此,可惜,校园招聘更看中的是你的潜质,你是否合适,而不
是你现在学到的东西。
最后就是绝对、绝对、绝对不能放弃!在我去霸王面的前几日,我度日如年,可就算直到去面的前一天晚上,我
IBM和HUAWEI的愿望相继落空的时候,我依然坚信:我一定可以成功的!
呵呵,然后当然是工夫不负有心人,在华为面试结束前,我收到了IBM的一面通知,一瞬间,我从地狱进入了天堂~~~~
最后,想告诉大家一直支撑我到成功的一句话:
做最坏的打算,尽最大的努力
lx_flyer 发表时间:2005-4-29 10:07:54 第1楼
软件测试 从零开始[转帖]
【摘要】
本文面向软件测试新手,从测试前的准备工作、测试需求收集、测试用例设计、测试用例执行、测试结果分析几个方面给出建议和方法。鉴于国内的软件开发、测试不规范的现状,本文为软件测试新手提供了若干个软件测试的关注点。
【关键词】
软件测试、测试用例、测试需求、测试结果分析
引言
几年前,从学校毕业后,第一份工作就是软件测试。那时候,国内的软件企业大多对软件测试还没有什么概念,书店里除了郑人杰编写的《计算机软件测试技术》之外,几乎没有其它的软件测试相关书籍,软件测试仅仅在软件工程的教材中作为一个章节列出来,因此,我对软件测试一无所知。不过,在正式走上工作岗位之前,公司提供了为期两周的系统的软件测试技术专题培训,对接下来的软件测试工作有很大的指导意义。现在,我继续从事软件测试的培训与咨询服务,在这个过程中,亲眼目睹了很多软件测试新手面对的困惑,他们初涉软件测试行业,没有接受系统的培训,对软件测试一无所知,既不知道该测试什么,也不知道如何开始测试。下面针对上述情况,给出若干解决办法。
测试准备工作
在测试工作伊始,软件测试工程师应该搞清楚软件测试工作的目的是什么。如果你把这个问题提给项目经理,他往往会这样回答: “ 发现我们产品里面的所有 BUG ,这就是你的工作目的 ” 。作为一名软件测试新手,如何才能发现所有的 BUG ?如何开始测试工作?即便面对的是一个很小的软件项目,测试需要考虑的问题也是方方面面的,包括硬件环境、操作系统、产品的软件配置环境、产品相关的业务流程、用户的并发容量等等。该从何处下手呢?
向有经验的测试人员学习
如果你进入的是一家运作规范的软件公司,有独立的软件测试部门、规范的软件测试流程、软件测试技术有一定的积累,那么,恭喜你!你可以请求测试经理委派有经验的测试人员作为你工作上的业务导师,由他列出软件测试技术相关书籍目录、软件测试流程相关文档目录、产品业务相关的文档目录,在业务导师的指导下逐步熟悉软件测试的相关工作。其实,在很多运作规范的软件公司,已经把上述的师父带徒弟的方式固化到流程中。
如果你进入的是一个软件测试一片空白的软件企业,那么,也恭喜你!你可以在这里开创一片自己的软件测试事业,当然,前提是老板确实认识到软件测试的重要性,实实在在需要提高产品的质量。这时候,可以到国内的软件测试论坛和相关网站上寻找软件测试资源,这种情况下,自学能力和对技术的悟性就至关重要了。
阅读软件测试的相关书籍
现在,中文版的软件测试书籍越来越多,有的是国人自己写的,有
的是翻译国外经典之作。可以到 / 或者 / 等网络购书的站点查找软件测试相关的书籍。目前,从国外引入的软件测试书籍有很多经典之作,但是,翻译成中文后,翻译质量对阅读效果有很大的影响。
走读缺陷跟踪库中的问题报告单
如果您所在的公司已经有软件缺陷跟踪库了,无论采用的是商用工具,如 ClearQuest 、 TestDirecter 等工具,还是采用的
Bugzilla 、 Mantis 等开源工具,这都无关紧要,缺陷跟踪库中的缺陷报告单才是有价值的。缺陷跟踪库中的问题报告单是软件测试工程师工作绩效的集中体现,同时也是软件产品问题的集中体现。一般来说,缺陷报告单中最关键的几个部分包括:第一部分是发现缺陷的环境,包括软件环境、硬件环境等;第二部分是缺陷的基本描述;第三部分是开发人员对缺陷的解决方法。通过对上述缺陷报告单的三个部分作仔细分析,不知不觉你已经吸收了其他软件测试人员的工作经验,并掌握了软件产品常见的基本问题。这是迅速提高软件测试经验的好方法。
走读相关产品的历史测试用例
如果你所在的公司有测试用例管理系统,那么,走读相关产品的软件测试用例是迅速提高测试用例设计水平的一条捷径。走读测试用例也是有技巧的。测试用例写作一般会包括测试用例项和根据测试用例项细化的测试用例,下面举例说明。 “ 测试用户登录的功能 ” 是一个测试项,该测试项的目的是测试用户登录功能是否正确,是否能够完成正常的登录功能,是否能够对非法用户名和密码做异常处理等等。因此,根据该用例项,可以设计出若干个测试用例,大多数情况下,测试用例项和测试用例是一对多的关系。
通过走读测试用例项目,你可以掌握应该从哪些功能点着手未来的测试工作;通过走读软件测试用例,你可以了解如何根据被测试的功能点开展软件测试用例的设计工作,包括如何确定测试用例的输入、测试用例的操作步骤和测试用例的输出结果等。
总之,走读其他软件测试人员设计的优秀软件测试用例,是提高自身用例设计水平的好方法。
学习产品相关的业务知识
软件测试人员不仅要掌握软件测试技术相关知识,对产品相关的业务知识也要学习。这很好理解,如果从事财务软件的测试工作,一定要学习财务知识;如果从事通讯产品测试工作,那么相关的通讯理论知识也是必须的;如果从事银行软件的测试,银行的业务流程也是不可或缺的知识点。
因此,在学习软件测试技术的同时,千万不要忽略产品相关业务知识的学习。如果你是一个软件测试技术专家,但是对产品业务知识一无所知,那么也只能测试出来纯粹的软件缺陷,而面对眼前出现的产品业务相关的缺陷,很可能是视而不见,如此这般,软件测试的效果会大打折扣。
(未完 待续, 见回帖2)
lx_flyer 发表时间:2005-4-29 10:09:39 第2楼
识别测试需求
识别测试需求是软件测试的第一步。如果开发人员能够提供完整的需求文档和接口文档,那固然好。可以根据需求文档中描述的每个功能项目的输入、处理过程和输出,来设计测试用例。如果开发人员没有提供软件需求文档,那该如何是好?下面给出几个有效的方法:
主动获取需求
开发人员通常不会更好地考虑软件测试,如果没有开发流程的强制规定,他们通常是不愿意提供任何开发文档,即便有强制规定,需求文档也未必能够真正指导软件系统测试工作。因此,需要测试人员发挥主观能动性,与相关的软件开发项目经理和软件开发人员保持沟通,了解软件实现的主要功能是什么,并记录得收集到的信息。一般来说,开发人员即便没有提供相关需求文档,也会保存一些简单的过程文档,主动向开发人员索要这些文档,可以作为测试的参考。此外,可以与公司的技术支持人员交流,技术支持人员是最贴近用户的人,因此,通过交流可以获取第一手的用户使用感受,在测试的过程中会更加贴近用户。
当拿到相关的资料后,从哪些方面分析需求?如何与开发人员交流需求?其实,只要把握需求分析的几个关键的点就可以解决问题:输入、处理过程、输出、性能要求、运行环境,下面针对每一个项目逐一分析:
软件输入: 与该需求相关的一切可能输入,可以从这几方面考虑,
输入来源、输入参数的数量、输入参数的度量单位、输入参数的时间要求、输入参数的精度和输入参数的有效输入范围。在测试用例设计中,这部分内容作为测试用例输入的依据。
处理过程: 描述对输入数据所执行的所有操作和如何获得输出的过程。测试人员了解处理过程即可,在测试过程中发现 BUG 时候,如果对处理过程了解的深入,对定位问题根源有很大的帮助。
软件输出: 描述每个需求的输出结果,包括输出的位置(如计算机显示器、打印机,文件),输出参数的数量、输出参数的度量单位、输出参数的时序、输出参数精确度、输出参数的有效输出范围、错误消息。在测试用例设计中,这部分内容作为测试用例的预期输出。
性能要求: 与该需求相关的性能要求,比如 “ 插入 ATM 取款卡后, 3 秒钟内弹出提示用户取款的图形界面 ” 。 3 秒钟这一限制,就是对需求的基本性能要求。
运行环境: 软件的运行所需的环境,包括硬件平台的要求、操作系统的要求、数据库的要求,以及其它相关支撑软件的要求。
确认需求的优先级
确认需求的优先级是很必要的,如果在产品进度比较紧的情况下,测试人员可以考虑优先测试优先级高的需求项,如果进度允许,那么在测试优先级低的需求项,如果进度不允许,那么就放弃测试优先级低的需求项。如果软件公司有规范的流程支撑,开发人员在提供软件需求文档的时候,应该在文档中确定需求的优先级。但是,如果开发人员连基本的软件需求文档都没有提供,又怎能指望他们确定软件需求的优先级?如果是这样,需求的优先级只能由测试人
员完成了。
加入开发小组的邮件群组
测试人员需要通晓被测试产品,但是,产品在开发的过程中往往是不断变化的。如果软件开发团队有一套变更控制流程,测试人员会对产品的变更了如指掌。如果没有变更控制,那就要采用其他的土方法了。如果公司里面有自动化办公系统,也许采用的是 Lotus Notes 系统,也许使用的是 E-mail 系统,测试人员应该加入到开发人员的邮件群组中。当开发人员通过邮件讨论问题、通知召开技术会议的时候,测试人员可以及时知晓,如果必要,可以参加开发人员的技术会议。即便公司里面有了软件变更控制流程,加入到开发邮件群组也是一个很好的习惯。
与开发人员为邻
建议测试人员与开发人员为邻。我所在的测试组曾经与开发组是在相邻的写字间里,开发人员与测试人员的关系非常融洽,抛去同事关系,大家还是不错的朋友。不管开发人员有什么样的活动,测试人员都能第一时间获得信息。无论从事软件测试工作,还是从事其它的工作,与工作中上下游环节的同事保持良好的个人关系对工作有很大便利。一般的公司内部都存在部门墙,良好的人际关系是打通部门墙的手段之一。向领导建议测试人员与开发人员为邻,这很必要。
测试用例设计
测试需求收集完毕后,开始测试设计。测试用例是什么?测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其
目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题:
测试用例的基本格式
软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果,下面逐一介绍。
用例编号: 测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。
测试标题: 对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如 “ 测试用户登录时输入错误密码时,软件的响应情况 ” 。
重要级别: 定义测试用例的优先级别,可以笼统的分为 “ 高 ” 和 “ 低 ” 两个级别。一般来说,如果软件需求的优先级为 “ 高 ” ,那么针对该需求的测试用例优先级也为 “ 高 ” ;反之亦然,
测试输入: 提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。
操作步骤: 提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细
列出。
预期结果: 提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。
(未完 待续, 见回帖3)
lx_flyer 发表时间:2005-4-29 10:12:29 第3楼
软件测试用例的设计主要从上述 6 个域考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法的基础上,可以设计出比较全面、合理的测试用例。具体的测试用例设计方法可以参见相关的测试书籍,白盒测试方法和黑盒测试方法在绝大多数的软件测试书籍中都有详细的介绍,这里不作赘述。
重用同类型项目的测试用例
如果我看得远,那是因为我站在巨人的肩上 --牛顿。
一般来说,每个软件公司的项目可以分为固定的几大类。可以按业务类型划分,比如 ERP 软件、产品数据管理软件、通信软件、地理信息系统软件等等;可以按软件结构来划分,比如 B/S 架构的软件、 C/S 架构的软件、嵌入式软件等等。参考同类别软件的测试用例,会有很大的借鉴意义。如果,公司中有同类别的软件系统,千万别忘记把相关的测试用例拿来参考。如果,系统非常接近,甚至经过对测试用例简单修改就可以应用到当前被测试的软件。 “ 拿来主义 ” 可以极大的开阔测试用例设计思路,也可以节省大量的测试用例设计时间。
利用已有的软件 Checklist
在上面一个小节中,按照不同的规则划分了不同的软件类型。每种类型的软件都有一定的测试规范,比如, WEB 软件系统在系统测试过程中,会有一系列的范式,比如针对 Cookie 就会有很多测试点。在设计测试用例的时候,不妨到网上去搜索相关的 Checklist ,不过国内外的网站很少有这方面的资料,即便有,也不是特别系统。可以先找一份粗糙的 Checklist ,然后,在设计测试用例的时候不断的去完善它,以作为下次测试用例设计的基础。
加强测试用例的评审
测试用例设计完毕后,最好能够增加评审过程。同行评审是 CMM3 级的一个 KPA ,如果因为公司没有通过 CMM3 级,就不开展同行评审是不恰当的。测试用例应该由产品相关的软件测试人员和软件开发人员评审,提交评审意见,然后根据评审意见更新测试用例。 如果认真操作这个环节,测试用例中的很多问题都会暴露出来,比如用例设计错误、用例设计遗漏、用例设计冗余、用例设计不充分等等;如果同行评审不充分,那么,在测试执行的过程中,上述本应在评审阶段发现的测试用例相关问题,会给测试执行带来大麻烦,甚至导致测试执行挂起。
定义测试用例的执行顺序
在测试用例执行过程中,你会发现每个测试用例都对测试环境有特殊的要求,或者对测试环境有特殊的影响。因此,定义测试用例的执行顺序,对测试的执行效率影响非常大。比如某些异常测试用例会导致服务器频繁重新启动,服务器的每次重新启动都会消耗大量
的时间,导致这部分测试用例执行也消耗很多的时间。那么在编排测试用例执行顺序的时候,应该考虑把这部分测试用例放在最后执行,如果在测试进度很紧张的情况下,如果优先执行这部分消耗时间的异常测试用例,那么在测试执行时间过了大半的时候,测试用例执行的进度依然是缓慢的,这会影响到测试人员的心情,进而导致匆忙地测试后面的测试用例,这样测试用例的漏测、误测就不可避免,严重影响了软件测试效果和进度。因而,合理地定义测试用例的执行顺序是很有必要的。
测试用例执行
测试用例设计完毕后,接下来的工作是测试执行,测试执行中应该注意以下几个问题:
搭建软件测试环境,执行测试用例
测试用例执行过程中,搭建测试环境是第一步。一般来说,软件产品提交测试后,开发人员应该提交一份产品安装指导书,在指导书中详细指明软件产品运行的软硬件环境,比如要求操作系统系统是 Windows 2000 pack4 版本,数据库是 Sql Server 2000 等等,此外,应该给出被测试软件产品的详细安装指导书,包括安装的操作步骤、相关配置文件的配置方法等等。对于复杂的软件产品,尤其是软件项目,如果没有安装指导书作为参考,在搭建测试环境过程中会遇到种种问题。
如果开发人员拒绝提供相关的安装指导书,搭建测试中遇到问题的时候,测试人员可以要求开发人员协助,这时候,一定要把开发人员解决问题的方法记录下来,避免同样的问题再次请教开发人员,这样会招致开发人员的反感,也降低了开发人员对测试人员的认可
程度。
(未完 待续, 见回帖4)
lx_flyer 发表时间:2005-4-29 10:14:02 第4楼
测试执行过程应注意的问题
测试环境搭建之后,根据定义的测试用例执行顺序,逐个执行测试用例。在测试执行中需要注意以下几个问题:
全方位的观察测试用例执行结果: 测试执行过程中,当测试的实际输出结果与测试用例中的预期输出结果一致的时候,是否可以认为测试用例执行成功了?答案是否定的,即便实际测试结果与测试的预期结果一致,也要查看软件产品的操作日志、系统运行日志和系统资源使用情况,来判断测试用例是否执行成功了。全方位观察软件产品的输出可以发现很多隐蔽的问题。以前,我在测试嵌入式系统软件的时候,执行某测试用例后,测试用例的实际输出与预期输出完全一致,不过在查询 CPU 占用率地时候,发现 CPU 占用率高达 90 %,后来经过分析,软件运行的时候启动了若干个 1ms 的定时器,大量的消耗的 CPU 资源,后来通过把定时器调整到 10ms , CPU 的占用率降为 7 %。如果观察点单一,这个严重消耗资源的问题就无从发现了。
加强测试过程记录: 测试执行过程中,一定要加强测试过程记录。如果测试执行步骤与测试用例中描述的有差异,一定要记录下来,作为日后更新测试用例的依据;如果软件产品提供了日志功能,比如有软件运行日志、用户操作日志,一定在每个测试用例执行后记
录相关的日志文件,作为测试过程记录,一旦日后发现问题,开发人员可以通过这些测试记录方便的定位问题。而不用测试人员重新搭建测试环境,为开发人员重现问题。
及时确认发现的问题: 测试执行过程中,如果确认发现了软件的缺陷,那么可以毫不犹豫的提交问题报告单。如果发现了可疑问题,又无法定位是否为软件缺陷,那么一定要保留现场,然后知会相关开发人员到现场定位问题。如果开发人员在短时间内可以确认是否为软件缺陷,测试人员给予配合;如果开发人员定位问题需要花费很长的时间,测试人员千万不要因此耽误自己宝贵的测试执行时间,可以让开发人员记录重新问题的测试环境配置,然后,回到自己的开发环境上重现问题,继续定位问题。
与开发人员良好的沟通: 测试执行过程中,当你提交了问题报告单,可能被开发人员无情驳回,拒绝修改。这时候,只能对开发人员晓之以理,做到有理、有据,有说服力。首先,要定义软件缺陷的标准原则,这个原则应该是开发人员和测试人员都认可的,如果没有共同认可的原则,那么开发人员与测试人员对问题的争执就不可避免了。此外,测试人员打算说服开发人员之前,考虑是否能够先说服自己,在保证可以说服自己的前提下,再开始与开发人员交流。
及时更新测试用例
测试执行过程中,应该注意及时更新测试用例。往往在测试执行过程中,才发现遗漏了一些测试用例,这时候应该及时的补充;往往也会发现有些测试用例在具体的执行过程中根本无法操作,这时候应该删除这部分用例;也会发现若干个冗余的测试用例完全可以由某一个测试用例替代,那么删除冗余的测试用例。
总之,测试执行的过程中及时地更新测试用例是很好的习惯。不要打算在测试执行结束后,统一更新测试用例,如果这样,往往会遗漏很多本应该更新的测试用例。
提交一份优秀的问题报告单
软件测试提交的问题报告单和测试日报一样,都是软件测试人员的工作输出,是测试人员绩效的集中体现。因此,提交一份优秀的问题报告单是很重要的。软件测试报告单最关键的域就是 “ 问题描述 ” ,这是开发人员重现问题,定位问题的依据。问题描述应该包括以下几部分内容:软件配置、硬件配置、测试用例输入、操作步骤、输出、当时输出设备的相关输出信息和相关的日志等。
软件配置: 包括操作系统类型版本和补丁版本、当前被测试软件的版本和补丁版本、相关支撑软件,比如数据库软件的版本和补丁版本等。
硬件配置: 计算机的配置情况,主要包括 CPU 、内存和硬盘的相关参数,其它硬件参数根据测试用例的实际情况添加。如果测试中使用网络,那么网络的组网情况,网络的容量、流量等情况。硬件配置情况与被测试产品类型密切相关,需要根据当时的情况,准确翔实的记录硬件配置情况。
测试用例输入 \ 操作步骤 \ 输出: 这部分内容可以根据测试用例的描述和测试用例的实际执行情况如实填写。
输出设备的相关输出信息: 输出设备包括计算机显示器、打印机、磁带等等输出设备,如果是显示器可以采用抓屏的方式获取当时的截图,其他的输出设备可以采用其它方法获取相关的输出,在问题
报告单中提供描述。
日志信息: 规范的软件产品都会提供软件的运行日志和用户、管理
员的操作日志,测试人员应该把测试用例执行后的软件产品运行日
志和操作日志作为附件,提交到问题报告单中。
根据被测试软件产品的不同,需要在 “ 问题描述 ” 中增加相应
的描述内容,这需要具体问题具体分析。
测试结果分析
软件测试执行结束后,测试活动还没有结束。测试结果分析是必不
可少的重要环节, “ 编筐编篓,全在收口 ” ,测试结果的分析
对下一轮测试工作的开展有很大的借鉴意义。前面的 “ 测试准备
工作 ” 中,建议测试人员走读缺陷跟踪库,查阅其他测试人员发
现的软件缺陷。测试结束后,也应该分析自己发现的软件缺陷,对
发现的缺陷分类,你会发现自己提交的问题只有固定的几个类别;
然后,再把一起完成测试执行工作的其他测试人员发现的问题也汇
总起来,你会发现,你所提交问题的类别与他们有差异。这很正常,人的思维是有局限性,在测试的过程中,每个测试人员都有自己思
考问题的盲区和测试执行的盲区,有效的自我分析和分析其他测试
人员,你会发现自己的盲区,有针对性的分析盲区,必定会在下一
轮测试用避免盲区。
本帖内容仅代表网友观点,与希赛网立场无关。如发现帖子内容有与法律抵触之处,请向网站管理员举报。
? 测试工程师如何规划自己的职业生
涯(转载)
初级测试工程师––入门级,具有一些手工测试经验,开发测试脚本并开始熟悉测试生存周期和测试技术; ? 测试工程师––能够独立编写自动
测试脚本程序并担任测试编程初期的领导工作,进一步拓展编程语言、操作系统、网络与数据库方面的技能;
高级测试工程师––帮助开发或维护测试或编程标准与过程,负责同级的评审,并能够指导初级的测试工程师;
Team Leader––一般具有5年左右工作经验,负责管理一个小团队。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品,负责开发项目的技术方法,能够为用户提供支持与演示;
测试经理––能够担当测试领域内的整个开发生存周期业务,能够为用户提供交互和大量演示,负责项目成本、进度安排、计划和人员分工; 计划经理––具有多年纯熟的开发与支持(测试/质量保证)活动方面的经验,管理从事若干项目的人员以及整个开发生存周期,负责把握项目方向与盈亏责任。
职业规划:
1.第一阶段,学习自动化测试工具,学会编写脚本;
2.第二阶段,学习编写测试计划,测
试方案,测试用例;
3.第三阶段,学习配置管理,版本控制,项目管理,bug管理;
4.第四阶段,转向做一个管理者. 每个人选择测试工程师职位的原因不尽相同.为了以后转开发积累经验的的,为了入门简单的,为了不加班的,有看好职业前景的,等等,.. 技术方向就沿着测试开发的路一直走下去.最终成为技术上的大拿,在一个公司里成为核心技术人员
这个方向对技术的积累要求最高,适于那些对管理没什么兴趣,就想专心做技术的人。要沿着这条路走下去,需要一直不断地在开发能力上的积累,并且还要求一定的知识广度和对职业的独特理解。
管理方向呢,工作个几年以后转向测试经理,以后的发展就多样了,质量总监\项目经理等等
有些人说做管理不需要技术,却没想过作过一个技术工作,自己都不会的东西怎么去管理别人,当然也有例外,有些管理人员也的确是靠自己的人格魅力去让一个团队健康发展的。不过那只是极少数罢了。大多数测试管理人员也是需要在技术上有一定积累的。而且对于所有工作都一定要比较熟悉,黑白盒,自动化,性能,用例设计,配置管理,计划方案的设计等等,并且还要去调合团队内部的
工作氛围,制定适当的激励机制,作为一个管理者绝不比一个技术人员需要积累的东西少。
而流程控制大概是选的人最少的,QA累死不讨好,最终成为一代终极流程控制顾问
这一类工作需要有非常大的耐心和自信,需要在工作中对流程控制方面有自己的感悟,需要对理论很熟悉。对人的毅力也是个极大的考验呢 其他的,还有做用例做到极至,做功能测试做到极至,做用户体验做到极至的等等,总之各种发展方向者需要努力的坚持,任何一个方向做好了都很好。
如果你是测试员或是高级测试员,有志转向管理发展,那么需要加强以下几点:
1. 测试计划的编写(要结合测试的项目,能以此来控制和确定测试所需人员,设备及时间来管理测试时间)
2. 要熟悉BUG跟踪工具及软件测试流程.(如: TD, Bugzilla, CQ等)
3. 要熟悉配置管理工具. (如: CVS, VSS等)
4. 要熟悉自动化工具.(例
如:WinRunner, QTP, Robot, RFT, Automation等,能结合录制完的脚本编写代码)
5. 要熟悉压力及性能测试工具.(例如: LoadRunner, webload,
silkperformance等,能结合相关数据,分析出性能瓶颈)
6. 要熟悉或精通一门语言. (例如: Java, C++)
7. 要熟悉数据库.(例如: Oracle, DB2, SQLServer, MySQL)
8. 要熟悉主流操作系统. (例如: HP Unix, IBM AIX, Sun Solaris, Red Hat Linux, SuSE Linux, Windows)
9. 能用英文流利的和老外交流以及往来Email.
10. 语言表达能力强,表达问题清晰明了.
11. 沟通能力强,能和上级/开发经理很好的达成测试相关/BUG事宜.
12. 学习技术的能力要强,能快速上手一个新的技术.
13. 乐于与人交流.
初级测试工程师:刚走出大学校门或者刚从些培训机构出来的学员,之前没有或具备很少的测试经验,这个阶段主要是掌握最基本的测试方法、测试计划、测试用例、测试报告、环境搭建等。北京上海地区,该职位薪水一般在2000-5000之间。
中级测试工程师:从事过2-3年实际工作的测试工程师,能够独立制定测试计划,编写测试用例,对初级测试工程师进行指导等。北京上海地区,该职位薪水一般在4000-6000之间。 达到中级测试工程师水准后,以后的
发展可以存在多种方向: 管理方向:
测试组长:一般5人以下团队,能够同时承担2-3个较小项目(程序代码在5000行以下)或者1个中、大型项目(程序代码在5000行-25000行左右)。北京上海地区,该职位薪水一般在5000以上,好的过万。 测试经理:可以管理多个小型测试团队,能够承担多个中型及较大型项目的测试,及具备至少1个大型项目(程序代码在25000行以上)的测试管理能力。该职位薪水一般过万,年薪二三十万正常。
质量经理/项目管理:跳出测试的执行转而关注过程。SQA待遇差别比较大,但有2年以上测试或开发经验的人5000以上应该没问题,好的也过万。
技术方向:
白盒测试:这个由开发人员转过来的比较多,一般技术上要至少达到技术经理的水准。待遇比较好,一般7k以上,好的年薪二三十万。
自动化测试方向:熟练使用一种以上自动化测试工具,做的好的待遇与白盒测试有的一拼,一般6k以上,不过最近学的人多了,待遇贬值可能比较快。
测试分析师/技术总监:主要职责是对系统的测试结果进行综合的分析,例如缺陷分析、性能分析等。不但测
试技术能力较强,还要具备数据库、操作系统等多方面的技术知识。这个待遇一般过万了吧.
行业测试专家:物以稀为贵,过万一般问题不大。
经历了以上一些阶段,大概在35岁左右,职业发展上基本达到瓶颈,此时只要混的不是很差收入一般可以算的上中产阶级,日子可能依然过的比较郁闷,之后的方向可能有做培训,咨询,自己开公司创业等。 好了,暂时先罗嗦这么多,具体的发展路线嘛各位八仙过海各显神通了!~
入测试行已有五、六年,谈谈自己的规划和一些想法:
一、自己的规划:
做了几年之后,积累的了一些行业经验(电子商务型,电信通信行业)和管理经验(指的是测试管理),毕竟是女孩,这么多年一直都在不断地学习各种技术,总怕落后。时间长了,感觉还是很累,感觉比做开发累。所以将来的方向是:走管理路线。(当然这条线也不好走,但是做了2年管理后,感觉在这方面有一定能力,只要努力就一定会成功的)
做好测试:主动性强,有信心,能听取接纳别人的意见。( 自己悟出的)
二、对于测试新手来说,如何入行,需要具备的知识和能力
1、测试的基础理论知识,知道测试流程是什么?测试的常用的文档有哪些,该如何编写?测试方法有哪些?
方法:去一些测试论坛(如:51testing,测试时代,3atesting,一起测试网等)找些资料来学习。或者买一些测试的书籍。再有也可以参加测试培训。
2、要熟悉或精通一门语言. (例如: Java, C++,.net,VB,PB,Dephi),做到能读懂代码。当然能独立编写代码更好。
方法:学习一种比较流行的语言即可,因为时间有限不可能学很多开发语言。学习的过程一定要给自己制订时间计划,而且语言这东西最好结合实例来学习,主要学习设计思路。
3、要熟悉BUG跟踪工具.(如: TD, Bugzilla, CQ等),学习一种即可,主要能领悟出bug的处理流程是什么,如何管理。
方法:到网上看资料,装上工具适用。
4. 要熟悉配置管理工具. (如: CVS, VSS等),会一种即可,当然有时间的话,2种工具都会更好。
5. 精通OFFice系列工具,排版能力强。测试中经常会写文档,所以这方面要强。
6、 要熟悉数据库.(例如: Oracle, DB2, SQLServer, MySQL),对一种数据库精通就可以了。
7、要熟悉主流操作系统. (例如: Red Hat Linux, Windows)
8、需要增强的能力:
学习能力强;表达能力强;耐心,细心,信心,责任心;能承受压力;沟通能力强。
以上这些,都是需要下功夫的,不能做表面功夫,那样的话,就算你入行后,会发现自己要学的东西会很多。
三、入行后,要学习的知识和能力: 1 、公司的文化和制度
2、熟悉业务,这块很重要,需要认真对待。
3、熟悉公司的开发流程和测试流程。
4、业务熟悉后,将自己所学的知识运用到实际工作中。提高自己的测试水平。
5、培养自己的沟通能力,与业务相关的所有人都能很好的沟通。
6、工作中遇到的问题及解决措施要及时总结整理。
7、针对公司的项目或产品选择适合的自动测试工具,帮助公司提高测试效率。
这一阶段重在:熟悉业务,熟悉工作流程
四、入行半年——1年后,要学习的知识和能力
1)提高编写用例的技巧。
2)熟悉一种单元测试工具。(针对公司的项目或产品使用的开发语言而定)
如果公司这块一直都是开发人员来
做,暂且跳过。
3)熟悉一到两种自动化工具。(功
能类和性能类的,如:WR,QTP,LR,
ROBOT等)
建议:学习工具的话,一定要结合实
际的项目,这样学得快而且效果比较
好。
4)熟悉一种测试管理工具。
(呵呵,为以后做测试管理者打算)
5)了解新业务,开发的新技术。
这个阶段的重点:就是提高自己编写
用例的水平,工具的使用。
五、 多年以后,相信自己都自己的
目标了。
1)如果做专职的性能测试工程师:
精通一种性能测试工具,并能分析出
瓶颈。(这点我没做到)(这些需要
提高多方面的知识:服务器,中间件,
开发,数据库等)
2)如果做自动化测试工程师,精通
一种自动化工具,并能独立编写脚
本,了解一些最新自动化测试方面的
技术。
3)测试管理者。(技术+管理),哪
方面薄弱就补哪块。多多听取别人的
意见,改进自己身上的缺点。
不管做任何事,都要有目标。
3DAnalyze V1.52 汉化版 [系统测试]
3DAnalyze 是 3D 性测试工具的辅助软件,他主要功能就??
操作系统:Win9x/NT/2000/XP 授权方式:共享版 2002-09-29 2184 495KB
窗体属性修改专家 V2.0 [密码恢复]
窗体属性修改专家是一款使用方便、小巧、实用的窗体控??
操作系统:Win9x/NT/2000/XP 授权方式:共享版 34KB
Hot CPU Tester V3.41 Lite 汉化版 [CPU 相关]
CPU好不好,一试就知道。Hot CPU Tester是系统稳定度的??
操作系统:Win9x/NT/2000/XP 授权方式:免费版 778KB
Hot CPU Tester V3.41 Lite [CPU 相关]
CPU好不好,一试就知道。Hot CPU Tester是系统稳定度的??
操作系统:Win9x/NT/2000/XP 授权方式:免费版 1024KB
PassMark ModemTest V1.2 Build 1000 汉化版 [系统测试]
是由PassMark出品的 Modem 测试工具,可帮助你解决一些??
操作系统:Win9x/NT/2000/XP 授权方式:共享版 215KB
PassMark ModemTest V1.2 Build 1000 [系统测试]
是由PassMark出品的 Modem 测试工具,可帮助你解决一些??
操作系统:Win9x/NT/2000/XP 授权方式:共享版 397KB
X-WAY V2.5 [网络安全]
本软件主要采用多线程形式对服务器系统进行漏洞扫描和??
操作系统:Win2000 授权方式:免费版 2002-02-06 8129 926KB
Advanced NT Security Explorer(ANTExp) V2.0 [系统安全]
一个 Microsoft Windows NT, Windows 2000 and Window??
操作系统:WinNT/2000 授权方式:共享版 2001-07-13 215 1416KB
冬威系统信息测试 V1.0 [系统测试]
冬威系统信息测试工具用来测试计算机的硬件及软件信息??
操作系统:Win9x/NT/2000/XP 授权方式:免费版 1702KB
GoldMemory V5.07 For DOS [内存工具]
内存测试工具,可支持到 4GB。
操作系统:Dos 授权方式:共享版
Resource Meter V1.0 [系统测试]
Resource Meter 是一个系统测试工具。它可以以50 msec??
这几天,部门启动了两个手机端应用程序的研发项目。作为测试经理,我开始盘算起制订测试方案以及规划测试资源。根据手机端产品的一些特性,我计划招聘两名系统测试工程师,负责产品的测试工作。
招聘消息一经发出,第一天我就接收到了100多份简历,申请应聘这个职位。经过简单而高效地简历筛选,有十多位名应聘者进入了我们面试的候选名单。再经
过一轮简单的电话面试,我将目光锁定在了十位应聘者身上。接下来,我逐一的安排和他们的单独面试,根据他们的面试表现,我将决定最后的招聘人选。 Sophia,毕业于清华大学,精密仪器专业硕士,现就职于国内一家IT创业公司,有4年的软件开发经验。她是这十位候选者中,简历背景最好的一位,怀着对人才渴求的心理,我立即拿起电话,和她约定在第二天进行面试。
[面试]
第二天上午10点,Sophia如约来到公司,我开始了对她的面试。首先,我让她做了一下自我介绍以及询问了她的一些项目开发经验。接下来,我问她对系统测试工程师的认识,她的回答比较简单和片面,看来是来面试之前,没有做过功课。我想,好吧,接下来看看是否有培养的潜质,于是,面试进入了关键环节。
我问到:“Sophia,今天有带手机过来么?”
Sophia迟疑地看我一眼,不解地回答到:“带了?”
我看出了她的疑虑,微笑一下,卖个关子,说道:“哦,是这样的,下面这道面试题,需要用你的手机做道具。”
Sophia伸手去包里掏出她的手机,放到我面前,一脸狐疑地看着我。 我继续问:“你的手机有没有计算器啊?能给我看看么?”
Sophia眼中的疑惑更重了,回答到:“有的,你看看吧。”
我觉得关子也卖的差不多了,指着手机上的计算器程序,问到:“Sophia,假设你所在的项目组开发负责研发一款手机计算器程序,你是这款产品的测试负责人,你准备怎么制订测试计划?”
Sophia如释重负,眼中所有的迟疑都烟消云散,重现自信满满的神情。(这种变化,她不是第一个,在我之前面试的很多应聘者,在听到面试题后,都和Sophia有一样的神情,觉得相比数据结构、设计模式等面试问题,这样的测试问题非常的简单,回答起来也应该十分轻松。不过,面试结束后,这些应聘者往往会非常沮丧,当然,这是后话,我们把话题拉回来)。
我继续说到:“这就是今天的面试问题,你如果有任何不清楚的地方,可以随时问我。”
Sophia听我说完后,考虑了些许时间,问到:“是不是要写测试用例?” 我心中顿感一凉,难道这名我寄予厚望的潜力股,就这么容易掉进陷阱?我心中非常不舍,于是,我提示到:“Sophia,在答题前,你想一下,作为一个项目的测试负责人,一开始就去设计具体的测试用例,是否太片面了?”
听完我的提示,Sophia思索了一下,回答道:“我所在的企业就是这么做的。” 眼看提示无效,我换一种方式引导,我又问:“那你觉得该怎么设计测试用例
呢?”
Sophia热情洋溢地说道:“我要测加减乘除运算,开方运算,?”
我不忍再继续听下去,打断她,问道:“你设想一下,如果用例设计完成了,你准备怎么样执行这些用例呢?”
Sophia指了指手机,说道:“就在手机上去执行啊。”
我问到:“什么样的手机?”
Sophia说:“就这样的手机啊。”
我说:“是不是拿这部手机就可以了,换一款行不行?”
说道这里,Sophia停顿了一下,若有所思,忽然,她问道:“对啊,你还没有说我们这个计算器程序应该运行在什么手机上。”
我微笑一下,说到:“现在你是测试负责人啊,你是否应该在设计用例之前,弄清楚这件事啊?”
听到我的话,Sophia不住的点头,刚才的自信闲适开始消失,取而代之的,是她眼神中的紧张。
我安慰道:“放松,你循着这个思路,重新来制订面试计划。”我以为她会因此开窍,心中窃喜。
“我的计划是,在Nokia,摩托罗拉,iPhone上执行这些测试用例??”,我还没有在喜悦中沉浸几分钟,Sophia又开始滔滔不绝地发言,她的发言,彻底打破了我的美梦。我在心中摇了摇头,面带着僵硬的微笑,听她讲完。接下来,我例行公事的问了几个问题,然后很官方地结束了面试。回到座位上,我陷入了失望的苦恼中??
[点评]
这是一次经典的面试。面试的题目是各大IT企业面试招聘软件测试工程师必考题,我们称这类面试题叫项目测试设计。题目往往是要求面试对象测试一样大众化的产品,该产品不局限于软件产品。比如,问应聘者如何测试一直笔,一部电梯,一台电视机,一台银行ATM机等。题目看起来非常的简单和直观,但它能从多个维度全面的考察应聘者作为测试工程师的潜力。正如上面大家看到的真实面试案例,面试题目有诸多的陷阱,如果应聘者没有系统了解科学的项目测试理论,就很容易身陷囹圄,无法自拔。下面,我就从面试者的角度出发,一一为大家揭秘这些陷阱之所在,并且配以相应的应对策略。分析、解决这类问题,流程上,可以分为三个步骤:
1) 明确测试任务
2) 设计测试计划
3) 优化测试用例
我们会分三节,结合三个真实、生动的例子来详细说明如何做好每个环节,从而
做好一个项目测试设计。本节中,结合上面的案例,展开分析明确测试任务的重要性,以及如何才能系统性的明确测试任务。Sophia在做手机计算器程序的测试设计时,在没有明确测试任务的情况下,就盲目的展开测试用例的设计,这样,会引发诸多的问题。首先,在面试题目中,并没有明确产品可以运行在什么手机平台上,对平台的支持需求不同,测试的设计的差异性是很大的,所以,在回答该问题之前,先应该向面试官发问,明确产品支持的手机平台,之后,才能有的放矢的开展具体的设计。其次,应该明确产品的研发周期等信息,只有了解了项目进度安排等信息,才能制订有效的测试策略,在测试的深度和项目开发时间要求上取得较好的平衡。比如,有的项目是时间驱动的(Date-Driven),这类项目的特点是预先制订发布时间,要求到了那天,产品就一定要发布,对这类项目,我们在设计测试计划时,就应该更多的考虑解决和项目发布相关的质量问题;另外有些项目,可能是质量驱动的(Quality-Driven),这类项目的特点是对发布时间没有强行的规定,但要求产品的质量必须达到一定的指标,并且需要在发布以后,实时监控产品质量,那么,在测试中,我们不仅要做好项目当下版本的测试工作,还需要考虑构建长期、高效地测试系统和平台,保障产品质量能够实时度量。另外,明确产品的功能设计,可用的测试资源等信息,对于接下来做产品测试都是至关重要的。下面的流程图,是对这一流程的直观描述,希望大家通过这个案例细细体味明确测试任务的重要性
软件测试题目
一、 判断题 (每题2分,20)
1、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。 (初级) ( × )
2、发现错误多的模块,残留在模块中的错误也多。( √ ) (初级)
3、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。( × )(初级)
4、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。
( √ )(中级)
5、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。( √ )(中级)
6、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。(√)(高级)
7、软件测试只能发现错误,但不能保证测试后的软件没有错误。(√)
8、软件就是程序。(X)
9、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(X)
10、I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指对软件做出符合本地需求更改工作。(√)【高级】
二、 选择题 (每题2分 20 )
1、 进行软件质量管理的重要性有:(ABCD)【中级】
A、维护降低成本 B、法律上的要求 C、市场竞争的需要
D、质量标准化的趋势 E、软件工程的需要 F、CMM过程的一部分
G、方便与客户进一步沟通为后期的实施打好基础
2、以测试的形态分测试可以分为:(ABC)【中级】
A、建构性测试 B、系统测试 C、专项测试
D、单元测试 E、组件测试 F、集成测试
3、选出属于黑盒测试方法的选项(ABC)【初级】
A、测试用例覆盖 B、输入覆盖 C、输出覆盖
D、分支覆盖 E、语句覆盖 F、条件覆盖
4、编写测试计划的目的是:(ABC)【中级】
A、使测试工作顺利进行 B、使项目参与人员沟通更舒畅 C、使测试工作更加系统化
D、软件工程以及软件过程的需要 E、软件过程规范化的要求 F、控制软件质量
5、依存关系有4种分别是:(ABCD)【高级】
A、开始-结束 B、开始-开始 C、结束-开始
D、结束-结束 E、开始-实施-结束 F、结束-审核-开始
6、软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于QC得是:(ABC)【高级】
A、测试 B、跟踪 C、监督
D、制定计划 E、需求审查 F、程序代码审查
7、实施缺陷跟踪的目的是:(ABCD)【中级】
A、软件质量无法控制 B、问题无法量化 C、重复问题接连产生
D、解决问题的知识无法保留 E、确保缺陷得到解决 F、使问题形成完整的闭环处理
8、使用软件测试工具的目的:(ABC)【中级】
A、帮助测试寻找问题 B、协助问题的诊断 C、节省测试时间
D、提高Bug的发现率 E、更好的控制缺陷提高软件质量 F、更好的协助开发人员
9、典型的瀑布模型的四个阶段是:(ABCD)【高级】
A、分析 B、设计 C、编码
D、测试 E、需求调研 F、实施
10、PSP是指个人软件过程 ,是一种可用于( A )、( B )和( C )个人软件工作方式的自我改善过程。【高级】
A、控制 B、管理 C、改进
D、高效 E、充分 F、适宜
三、 问答题
1、 测试人员在软件开发过程中的任务是什么?(初级)(5分)
答:1、寻找Bug;
2、避免软件开发过程中的缺陷;
3、衡量软件的品质;
4、关注用户的需求。
总的目标是:确保软件的质量。
2、 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?(初级)(6分)
答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执
行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。
3、 界面测试题及设计题。请找出下面界面中所存在的问题并分别列出;用黑盒测试的任何一种方法设计出此登陆窗体的测试用例。(中级)(6分)
答:1、窗体的标题栏中为空,没有给出标题。
2、用户名和密码控件的字体不一致并且没有对齐。
3、文本框的大小不一致没有对其。
4、确定和取消按钮控件的大小不一致。
4、 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!(中级)(5分)
答:黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现;
2)与软件的内部实现无关;
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5)在做软件自动化测试时较为方便。
黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
2)自动化测试的复用性较低。
白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。 白盒测试的缺点有:
1)程序运行会有很多不同的路径,不可能测试所有的运行路径;
2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
3)系统庞大时,测试开销会非常大。
5、 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。(初级)(5分)
答:软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。
软件测试一般分为单元测试、集成测试和系统测试。
6、 根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?(中级)(10分)
答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。
测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。
设计测试用例应当从以下几方面考虑:边界值,等价类划分,有效/无效值等。
7、 什么是软件质量保证?软件质量保证人员与开发人员的关系如何?(高级) (10分)
答:软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。 软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题
四、 设计题
1).输入三个整数,判断三个整数能否构成一个三角形,请用黑盒测试方法中的一种设计出相应的测试用例并详细说明所使用的黑盒测试方法。(中高级) (15分)