测鬼记(中)之奋斗——第一个项目

来源:互联网 发布:锁 java 编辑:程序博客网 时间:2024/05/22 00:21

假期结束了,文字又开始了上班,才坐下没多久,文字的LEADER就走了过来对文字说道:“等会10:00,跟我一起去参加一个项目的开工会,我们要开始做一个新项目了”。

 

“好”,文字似乎受到了LEADER情绪的感染,有一种渴切的心理。LEADER走开,文字就想,项目开工会是什么东西,应该就是说开始吧,有必要还搞一个会么,是不是有点浪费时间呀,等会自己又该干些什么呢?应该不需要干啥,自己做在那里听听就可以了!哎,工作就这样开始了,不过也挺好的,起码不再无聊了,已经玩了一个月了,前面20天还好有小丰陪着,后面几天真是没意思的很,小丰一走,生活好没趣,也不清楚她学的怎么样,晚上问问。

 

“大家好,参加PIQS项目的人员都到齐了。先自我介绍一下,我是项目经理陆中,负责这个项目,大家以后就是一家人了,我们先自我介绍一下吧!”

 

“项目经理,项目经理是做什么的?做软件不就是程序员的事么,还要这个岗位干啥呢?”,文字看着陆中心里不解的想到。

 

“我是测试的文字,今年刚毕业,这是我参与的第一个项目,什么也不懂,以后还请大家多多担待”,文字自我介绍道。

 

“好说,好说”,大家异口同声微笑道。还好,还好,看上去大家都很和蔼,文字本来悬调调的心,安了下来。

 

这个项目的参与人员不多,1个UI、3个程序员和1个项目经理,另外就是文字和导师了,大家热闹了一番会议就进入了主题。

 

项目经理等大家自我介绍完后,接着说道:“我给大家介绍介绍,PIQS这个项目的基本情况,详细的等大家看了详细的文档后,我们再在相关的会议中讨论。PIQS这个项目呢,是我们公司云服务系统中的一部分,它主要提供车辆信息违章信息的查询,以及代缴罚款、过年审等业务,主要是方便用户处理自己爱车的相关事项。整个项目开发周期呢,要求是5个月内完成交付,参与人员就我们8个人,应该说力量还是不错的。接下来,一周的时间里,方工和我会把详细的需求和交互拿出来,开发和测试呢,赶紧交接一下其他工作,没多久大家就要全勤投入了”,陆中强调道。

 

“OK”,大家回应道,然后又聊了一会儿,最后项目经理召集大家和了个影,会议就这么结束了。

 

文字回到办公室,回忆刚才的会议,心想这就是项目开工会,好像就是认识人嘛,它又有什么意义呢?陆中,还跟大家一起拍了个照。也许不应该先想意义,意义也许想得太宽泛了,应该想我从这个会议里获得了什么信息或者好处,嗯,是的,我认识了项目成员,一下子自己有了归属感,我了解了项目初衷以及时间,使我有了初步的目标,噢,还有晓得了头是陆中。嗯,应该没错,这个会的主要作用,就是这样吧,是不是有点太小聪明了,也许不是这样的,还是问问导师吧,但感觉这个问题很弱智耶,去问是不是太显得自己基础太差了。但真不敢确定呢,那又该怎么办呢?嗯,应该先查查BAIDU,BAIDU应该有这个解释!文字想到这,打开了浏览器,查询到“项目开工会”,然后看到解释是:确立项目正式开始,相关干系人了解项目背景及范围、目标,干系人之间互相认识项目成员,并建立项目经理的权威、建立项目框架。果然,差不多是这么回事,嗯,应该记下来,文字想到这把笔记本拿出来写到,项目开工会……

 

隔了几日,LEADER发过来一个名叫《PIQS项目需求文档》的附件,导师还特意走过来在文字旁边说道:“做测试,最最重要的就是要对需求进行全面的理解,不仅要有广度,而且还要有深度,其实开发也一样!”

 

“嗯,你说的很有道理。这个东西,规定了我们要完成什么,以及要实现的效果嘛,我知道它的重要性。理解文档内容还好说,按照他的意思去想就行了,但要我们评审,我们又该怎么进行呢?”,文字好奇的问到。

 

“这个嘛,一般首先要对需求的正确性进行思考,比如描述有没有不清楚、有歧义呀,还有就是要根据业务实践的经验或者专业知识来评价是否正确,很多时候IT人喜欢拍脑袋就决定了一个天马行空的东西,另外就是需求的完整性了,要完整并切底实现用户提出来的需求。总之,需求评审时要考量的东西比较多,等会可以BAIDU搜一下,但我们主要关注的还是这些方面”,LEADER耐心解释了一番。

 

“嗯”,文字口头上虽同意,但心理却在想,正确性,我们要是真轻易知道或不知道他的正确性,那还用得着艰难思考,直接决定了就OK啦,可是如何判定是正确的呢,难道没有什么更具体的理论来指导吗?话到嘴边,看了看LEADER,然后又吞了回去。

 

“你先看会儿,有不明白的地方或者需求看不懂的地方,先问问我,我们讨论讨论”,LEADER讲到。

 

“嗯”,文字望着LEADER回去的背影,脑子里却仍在想那个问题,突然觉得自己刚才没有问那个问题,自己很小人,白白浪费了个机会,再过去问,又觉得很不好意思。没办法,文字只好求助BAIDU,但搜了好久,BAIDU的都是LEADER解释的详细版本,虽有不甘,文字也只好放弃继续追问这个问题,也许它本身并不是个问题,但文字第一次觉得,有时候BAIDU和前辈并不能回答你的疑问,也许只有某一天自己经验丰富了才能回答这个问题,文字新起了一页标注'问题'记到'如何评审需求的正确性是正确的?,未解',畅想着有一天能够解决这个问题,到那时也许会有新的体会。

 

“喂,傻想啥子?吃饭了”,文字听见一个声音穿进耳朵,一下子回到现实便看见包子和杨伟站在傍边盯着自己。

 

“噢,想着包子回来给我们带了啥子噻”,文字顺口回答道。

 

“少来,啥子都没得,我站票过来,我容易吗我,还要跟你们带东西,做梦吧”,包子边走边解释到。

 

“这么惨啊!”,文字同情的讲道。

 

“你以为呢?”,包子接着另一个话题到,“参与项目感觉怎么样啊?”

 

“还好,不懂的很多呢?”

 

“嗯,慢慢来,对了,刚才LEADER跟你说啥呢?唠嗑了很久,你又那个样子,不会有啥子吧”,包子关心的问到。

 

“就项目上的事,没得啥子,我在想一个问题,所以刚才发了会呆?”

 

“什么问题,说来听听”,包子好奇的问到。

 

文字跟包子说了说心里的问题,“哈哈,你这个问题,问得也太无聊了,我要是你头才懒的回你呢?自找没趣,你这问题就跟,如何证明你是男人的正确性结论是正确的一样,显而易见,没什么意义?”

 

“是的,我也怕,所以没敢问LEADER,只是自己在想而已”

 

“还算你聪明,别想太多!明天,在写写测试用例,这个项目你就算参与一半了”

 

“不会吧,我还不晓得怎么写呢?自己只看了看书上的例子”,文字有点小担心。

 

“你傻啊,你这种新手,头会给你重要的模块吗?肯定是一些边缘模块,这些其他项目有示例的”,包子提醒到。

 

“可我就只有这个项目的资料呢”

 

包子看着文字摇了摇头,“你娃太不主动了,下午我把我写的和我参与的用例发你吧”

 

“多谢,包子。够兄弟!”,文字感激到。

 

“少拍马屁了! 对了,听说嫂子在这边,什么时候介绍介绍,如何?”,包子傻笑到。

 

“她回去了”,文字淡淡的讲到,话题就在这里停住了,空气似乎有点窒息般的躁动。

 

没几天需求就定了下来,LEADER让文字写登录模块的测试用例,文字一大早就来到了办公室打开EXCEL,空空的面对着文字,文字却不知道应该从何处下手,2个小时就这样过去了,文字还是没有写下任何内容。

 

是需求自己没有看懂吗?其实这个模块的需求挺简单的,就正确的账号能够登录并跳转,错误的给提示。可我怎么来进行正确性的测试,怎么来证明正确时是正确的并有可能是不正确的,或者说证明错误时是错误的正确并有可能是正确的错误呢?这真的是一个折磨人的问题。也许,应该抄一抄其他项目的,这个模块应该都差不多,可那样又能怎样,思考的过程也许才是最重要的,抄一抄虽然完成了任务,但损失的还是自己,那又该从什么地方入手呢?

 

是的,应该用测试用例的设计方法,比如边界值啊、等价类啊,可这个地方的边界又在哪儿呢?是的,有输入长度边界,最长20个字符,显而易见这是一个测试用例,还有其他的吗?好像没有了。

 

等价类能不能用用,想想,是的,取不同类型的字符类型就代表了所有的字符组合,所以用户名、密码单一为数字或字母或特殊字符,也是一个测试用例,还有其他的吗?仔细想想,好像真没有了。难道就只有这两个,好像也太说不过去了。

 

这些设计方法好像并不好使,书上的内容好像作用不大,理论和实践看来差距不是一般的小,得想办法从其他角度来进行啊,那其他角度又该是什么角度呢?

 

对头,测试、测试嘛,主要还是跟程序的逻辑打交道,我们先梳理程序的实现逻辑,再来看用例设计,如果是自己来实现又该怎样呢?

 

应该先判断输入框都填写了,并且长度符合最大20位的要求,这是首要条件。在这个基础上,查询用户名是否存在,存在就比较密码,密码一样就跳转,不一样就提示。还有吗?

 

好像没有了,应该就是这么来写的程序。所以'判读是否为空',应该是一个等价类,虽然只有是或否,这里是2个;20位,是个边界值,取21、20、21~0中间的值,都要尝试一下,-1这种状态没有,所以不用理会。用户是否存在,又是一个布尔等价类,这里又有2个,密码也一样,所以这里有4种组合,再加上前面的,一共就有了12个测试用例了,嗯非常不错,自己这个方法好像有点靠谱,比光想着测试设计方法有用一些,看来应该沿着这个思路继续想想,不能只局限在一个范围呢。

 

还有吗?书上说测试设计最多的就是边界值、等价类,以及场景分析了,再想想有没有边界问题,如果我在登录过程中刷新一下会怎样呢?这应该也是一种边界吧,登录前、登录中、登录后,只不过没有那么明显。嗯,是的,这确实是一种情况,看来边界值等方法不能只局限在数字方面,其实状态也是种表现。

 

场景法能不能拿来用用呢?这里就不应该在想程序的事了,应该想想用户最多使用的情况,不说用户了,就自己吧,好像最多就是输入了,偶尔会把密码写错,所以前面已经覆盖这种情况了。自己还经常做什么,噢,对了,有时会把密码记住,懒得输入,但要不了多久就过期了,所以这里应该还有一个登录后的SESSION信息过期的问题,不能越过登录嘛,这个得加一加,可是需求上没有说呢,嗯先记下到时问问LEADER。

 

文字又想了想,在反复确认没有新的思路后,就把笔记本上记下的要点按测试用例要求的格式写上了标题描述、期待结果等,数了数有25条,觉的自己完成的不错,就把文档发给了LEADER,LEADER看了一会儿用RTX叫文字过去一趟,文字想也许自己完成的太糟糕了,太得意忘形了,没有跟以前的对一对,说不定会好一些,心中只在怪罪自己,脚步却快速向LEADER跑去。

 

“老大,怎么了?第一次写,是不是很糟糕?”,文字试探的讲到。

 

“不、不,很不错,看的出来你的思路很清晰,只是有些地方要补充一下。你的用例,用了大量的等价类、边界值,以及一些场景法,但是呢也要参考一下这些地方常有的错误,以及一些约定习俗的规矩,比如密码这里,一般都要显示为*号,右键查看源代码时不能显示,这都是一些公共约定,另外密码很多时候不能为中文,以及一些特性字符时比如单引号,就经常引起错误,所以嘛,还是要参考以前的用例,另外要用一些错误推测的方法来设计一些用例”,LEADER教导到。

 

“嗯,嗯。我注意一下,回去再看看”,文字若有所思的回答到。

 

“总体上,还是非常不错的。完成的也比较快,还以为你要2天呢。毕竟第一次嘛,很多人都不晓得怎么写的,你补充完以后一起把查询模块完成了吧”,LEADER鼓励的讲到。

 

“好”,文字爽快的答应了LEADER。

 

就这样,文字开始完全投入到第一个项目的工作中,一边接触着软件项目的开发和测试过程,一边学习着测试工作过程中的点点滴滴的知识,文字投入的精力越来越多,疑问也就越来越多,虽然有很多没搞清楚,但文字浅意识越来越觉得这份工作真的非常适合自己,毕竟自己能干的不多,而它却还有一分让自己觉得工作着是份快乐。