常州达内教育软件工程师培训软件测试培训
面议发布时间: 2023-04-10 18:07:51
软件测试是可以保证软件质量,但不是说你测试一下就可以保证质量的。
你需要去了解如何去保证软件质量,你可以看下下面的
软件在没有发布之前的开发过程主要分为需求分析、设计、编码和验证四个阶段,最终的软件质量与这四个阶段的各自质量之间的关系如果用C语言来表达的话应当是: 最终的软件质量 = 需求分析质量 && 设计质量 && 编码质量 && 验证质量 即,最终的质量来自于各阶段质量之“与”,只要其中一个环节质量是差,则产品的整体质量都将是差,千万不要认为是“或”的关系。由此看来每一个阶段的质量都起着决定性的作用。 以上提及的四个阶段的质量将引出以下几个软件质量保证的关键要素。 完备的需求分析 需求分析的目的是让项目组明白要做什么,是决定所开发出来的软件应当是“长什么样的”,显然完备的需求分析是高质量软件的前提。如果所开发出来的软件与用户所希望的并不一致,那不可能让用户说“这个软件的质量很好” 。如果方向不对,软件开发得再“好”也没有意义。需求分析失误所带来的开发成本是高昂的,这一点在《软件工程》这类书籍中都会提及,因此,整个行业对于需求分析的重要性都具有足够的认识。当然,知道其重要性与如何获得完备的需求分析又是两回事,至于如何做好需求分析请读者参考相关书籍。 需求分析如果出现失误的话有一个特点—— 它一定会暴露!只不过存在是暴露在软件开发过程中还是在用户手中之别。因此,需求分析所造成的问题尽管严重,但它能被发现进而能得到项目组的重视,从而也一定能被修复,只是不同阶段发现这类问题所花费的成本将有所不同。 设计 设计阶段是通过设计方法找出软件实现更好的方法,注意这里是“更好”两个字,而不是强调*。 不良设计并不会象需求分析失误那样很容易暴露出其本质,相反,它所暴露出的更多是表象,比如逻辑复杂、维护时举步为艰等等。如果参与者不具备一定的洞察力以发现隐藏在现象背后的不良设计本质,则很有可能身受其害却不能自拔,还以为“本来就有那么复杂”。 项目的开发是一个逐步演进的过程,项目组成员对于需求的理解也是逐步加深的,一开始合适的设计到后面看来很有可能就不够全面或显得力不从心,如果仍沿用以前的设计则自然将暴露出它的不足,进而会出现需要更高的维护成本。重构思想的提出,就是用于帮助项目演进设计的,当然,在运用重构方法时,应尽可能保证项目有足够的单元测试用例,以预防重构时又引入新的缺陷。重构不只是一个词,其核心应当是一个方法论,一个用于优化设计的方法论。 编程好习惯 设计阶段输出的结果就是蓝图,但好的蓝图并不能保证*的质量一定就好。拿造房子打个比方,图纸设计得再好,如果建造时用的材料不过关,那最终的房子一定好不了。那软件开发中的“建筑材料”又是什么呢?就是程序员所编写的代码。如何保证其质量呢?这需要通过良好的编程习惯去保证。 在现实的项目中,设计有可能与编码会有一定的揉合,即通过进行一定的编码来辅助设计。这种实践方式并不影响这里将设计与编码分为两个质量保证关键要素。 验证 验证很容易让人想到质量保证的常用方法之一,即测试。但验证应当包含更多的内涵,比如求证软件需求是用户所希望的就是其中的一种。 对于验证的理解仍需要拿房屋的建造作为一个比方,以便加深理解。在房屋的建造过程中,当建筑材料到了工地以后,需要对其进行检验,以保证它的质量是合格的,否则不能用于建造。对应于软件开发,这个阶段就是单元测试。当软件工程师编写了代码以后如何保证代码的行为是其所希望的呢?那只能通过单元测试去验证。房子建造好了以后,还得对房子进行整体的验收以确保其最终是合格的。比如抽查墙壁所使用的水泥与沙的配比是合适的。虽然水泥和沙在进入工地时都经过了质检且是合格的,但在建造的过程中需要按一定的比例混合它们以作建筑粘合剂,而混合比例将确定粘合强度。在软件开发过程中,软件集成测试就如同房子在建造好了以后的验收。 从上面的比方能得出几个结论。*,在软件开发过程中单元测试是必不可少的。它的缺少如同将没有检验过的建筑材料用于建造一样。第二,单元测试应当在集成测试之前完成。有的项目在一开始时并没有单元测试流程,但后来发现需要增加这个环节,于是出现了集成测试完成了以后,再进行单元测试这种情形。这种情形还是有点怪怪的,这如同房子已造好了,再将墙打掉去检查里面的砖是否是好的一样。“将墙打掉检查砖”这种行为的勇气虽然可佳,但是如果尽早地在项目中部署单元测试就能避免这种怪现象的发生。 集成(包括开发集成和系统集成)测试在软件行业被广泛采用以保证软件质量,但单元测试对于软件质量保证的重要性在整个行业还缺乏广泛的、深刻的认识,其更多地被当作是负担而不是一种有效的质量保证手段。
软件测试工程师:查找bug、管理bug、质量保证
软件开发工程师:系统设计、编码、修改bug
薪水收入对比:
软件开发:跨度非常大,1000-4、5万/月不等
软件测试:薪资稳定,一般为2000-6000/月
职业年限长度:
软件开发:3-5年
软件测试:有可能做到退休(如果你自己希望的话)
职业发展比较:
软件开发:做了3-5年开发后,仍未升为项目经理,考虑转行
软件测试:随着项目经验的增加及对行业背景了解的加深,越老越吃香
测试工程师与开发工程师目标一致、行为对立、并行工作,有生产就必然有质检,二者的工作相辅相成,开发人员和测试人员的主要矛盾就集中在对bug的定义上。测试人员辛辛苦苦发现软件中有问题,报了一个bug。这时就会出现两种状况。种,开发人员工作很忙,压力很大,外加心情不好,就会说出如下几类话:
a.你会不会用软件呀?
b.你使用了bt的方法发现了用户永远也不可能发现的问题
c.由于我使用了XXX技术,YYY方法和受到了ZZZ的约束,所以只能出现这样的问题,所以就不是bug
d.上次都说过了,是你们测试的问题,先保证测试用例的正确性再来测试
大家也许要问如何解决紧张的关系,我想到了几个方面,也欢迎大家补充。
先我要为测试人员说说好话,因为我们通常被认为是不重要的一群人。
1)开发人员通常把软件看成是程序,他们这种认识上的误区会排斥程序以外的其它因素,例如相关的文档。
2)开发人员通常把软件的质量等同于软件功能性方面的质量。ISO/IEC9126标准中定义了6大质量特性,我们做测试的人员不应该让开发人员钻其它五项的空子。
3)测试人员通常关注的软件的行为,也就是外在表现,是对外部质量的评价。而开发人员通常是关注软件的实现细节,也就是内部构成,即内部质量。外部质量和内部质量是不等价的,也就是说开发人员犯的错误会引入缺陷,而缺陷在特定的使用下才会产生失效。所以北大青鸟建议应该统一和测试人员关于bug的理解和认识,避免分歧的不断涌现。
更多培训课程,学习资讯,课程优惠,课程开班,学校地址等学校信息,请进入 武汉汇智动力教育网站详细了解
咨询电话:13140882082
学员评价
相关文章
最新文章
相关课程