软件测试的常见误区,一个不中说明已是高手

13、使用了测试工具,就是进行了有效的测试

测试工具是为了协助测试工程师更高效的完成测试工作,是否能够有效测试,完全取决于使用工具的人的技术水平。水平强,则测试结果有参考价值,水平弱,则测试结果一塌糊涂。

建议大家还是要以手工测试为基础,工具只是为了提高测试效率,为了更好的完成测试工作,并不是用工具测试就一定有效。

14、规范化软件测试是增加项目成本

一个软件测试过程如果不规范的话,结果一定不会很理想,规范严谨的测试过程,可以大大提高测试质量,这不是增加项目成本,而是减少了项目的隐患,甚至是上线后的损失。

一家不重视测试规范的公司,其产出的软件一定不会有太大的市场竞争力。其后果,也不应该由测试人员承担。

15、期望短期通过增加软件测试投入,迅速达到零bug率

测试人员都应该知道一个原则,就是完全测试是不可能的,所谓的零BUG,就连阿里巴巴也做不到,并且软件测试是贯穿整个项目生命周期的,需要尽早的介入测试,如果在项目后期加大测试力度,也并不能有效的提高测试质量。因为测试人员没有时间理解软件的业务流程和接口逻辑。

16、忽视需求阶段的参与

软件测试的开展一定是从需求阶段展开的。没有需求文档就无法衡量测试周期和测试范围,也就无法编写测试计划和测试用例,所以忽视需求阶段的参与,对于项目质量来说是灾难性的结果。

17、忽视用户操作密集和核心功能的回归测试

很多人认为用户经常操作的地方就不会出现问题,但是一个项目更新后,很可能导致以前的核心功能受到了影响,新的代码对老的业务造成了破坏,所以说,回归测试一定不能忽视核心功能以及用户密集操作的模块。相反,应该重点回归!

18、忽视软件测试建档

软件测试建档,指的是软件的测试记录是否有效的存储,是否可查询,如果测试不建档,那么测试报告就无从考察,测试结果也有没有了依据,所以测试建档是必要环节,不可忽略。

19、软件开发完成之后进行软件测试

软件测试是贯穿整个项目生命周期的,必须要在需求阶段的时候介入,在单元测试完成后就进行集成测试也就是接口测试,这可以发现80%的软件缺陷。如果开发完成才介入测试,那么项目发布上线的时间即将会大大延长。而且很多问题修复成本也将会大大增加。

20、软件发布如果发现质量问题,都是测试人员的错

很多人都觉得测试通过后,在用户使用时发现bug一定是测试人员没有测试到位而导致的,我曾经的工作中就经历过多次这类问题,但是测试人员坚持认为该功能缺失测试过,并且没有出现这类问题。后来经过本人的辩论终于找到了问题的原因,就是开发人员的疏忽导致封包封版时,没有保存最新代码导致问题出现。

首先,如果大家以后遇到这样的情况出现,千万不要心急如焚,手忙脚乱。要先确定该功能是否测试过,是否通过测试了。如果没有测试,那么毫无疑问测试背锅,如果测试通过还出现了问题,极有可能是开发人员封版时没有保存最新的代码而导致的。或者是开发人员在发布最终版本时擅自修改了部分代码。

21、项目进度紧的时候少做些测试,时间富裕时多做测试

项目测试时间紧张的时候很容易出现测试不到位,测试不全面,导致发布后出现问题的情况,正常的处理办法,应该是使用敏捷测试方法,测试范围坚决不能缩水,测试用例可以忽略掉表单值域的用例,着重编写流程性测试用例。并且开发完成了一个模块,测试就测试一个模块,这样可以大大加快测试效率。本人很喜欢使用敏捷测试的方法,不仅可以减少测试时间,质量也不会打折扣。记住一点,敏捷测试一定要对人员进行明确的分工。避免重复性测试带来的效率降低。

22、软件测试工作没有前途,只有程序员才是软件高手

相信很多人都认为测试没有开发人员厉害,这确实是市场现状,很多测试技术确实不如开发强,但是论前途,我觉得测试比开发更有挖掘潜力,测试的发展是多样化的,而且范围很广,薪资也完全不亚于开发人员。真正的全栈测试工程师,技术也绝不会输给开发,甚至超越开发。小编在工作中,也经常会遇到开发人员前来向我请教性能技术和自动化技术。

23、软件测试就是保证软件无故障运行

软件测试不仅要保证软件无故障运行,更要保障软件的易用性,健壮性,稳定性,安全性,兼容性,用户体验等一系列的因素,所以单纯为了无故障则显得有些肤浅了。

24、软件测试的环境就选用户的环境

软件测试分为三个环境,分别是“测试环境”、“HA环境”(准线上环境)、“线上环境”,用户环境指的是第三个“线上环境”,而测试的重点用该是在“测试环境”和“HA环境”中。用户环境中并不能随意提交数据进行测试,只能在最后beta验收阶段时才会采用这个环境的测试。

25、开发人员更适合做软件测试

我们常常听到这样的问题:“为什么软件的开发者们不适合测试他们自己开发的软件?”事实上,软件开发人员测试自己所开发软件的行为就如同学生在完成考试试卷后再对自己的成绩进行评估。这种做法毫无意义

(1)开发人员对其所写代码有主观认同感

人们通常会对自己所犯错误视而不见或者拒绝承认。同样的,在软件开发领域,程序员们对待其开发的应用程序就像对待自己的孩子一样,拒绝承认自己的孩子有什么不好的地方。这就是为什么软件开发人员难于发现和改正自己的错误。

(2)开发人员对软件过于乐观的心态

开发人员进行开发的目标是将软件所需的功能完美的展现出来。当程序的功能运转正常的时候他们会自我感觉良好,因为他们的主要目标就是功能二字。而测试人员与他们想的却不一样。测试人员通常会从不同的角度切入进软件内部,打破程序员们惯有的思维方式,通过各种不同的测试用例把软件潜在的不足之处引发出来。

26、bug越多测试越有效

测试Bug的数量并不能说明测试的有效性,反倒能说明开发人员的技术水平。测试bug数量多则改的代码就多,改的越多,越可能引发其他问题的出现,甚至到后期bug越来越多。原本没有问题的模块也开始出现问题。测试的有效性不能以发现bug的数量而决定,更应该根据问题的隐蔽性或严重性来决定。

27、关注测试的执行而忽略了测试的设计

执行测试一定是按照提前设计好的方法进行的,测试的方法就是测试用例,如果不进行测试用例的设计,直接进行测试执行阶段,再强大的测试工程师也无法保证测试的全面性。相信大家都知道编写测试用例的原则,是100%的覆盖需求,可见测试设计阶段的重要性。

28、测试是为了证明软件的正确性

测试不仅要证明软件的正确性,更应该证明软件是错的,测试人员不能只考虑正确的流程,往往出错最多的是逆向思维测试,反逻辑测试,违背常规的测试是最有效的测试,所以说测试不是为了证明软件的正确性,而是恰恰相反的证明软件的错误性。

上一页12下一页


留言