何为软件测试——给不懂软件测试的小伙伴 | 当前位置: 首页> 学习中心> 小白入门> 详情 |
什么是软件测试
软件是一套运行在电脑端或者移动端的程序,例如微信、12306应用程序等。软件是程序员用代码写出来的程序,程序员在编写代码的过程中,会存在书写、逻辑、计算、未按需求开发等各种可能的问题。因此需要测试人员对程序员编写的程序进行测试,以发现并移除这些问题。测试人员围绕被测程序进行的所有测试相关的活动就是软件测试。
为什么要进行软件测试
软件的产生需要客观因素的催化,专业术语叫“需求”,也就是有人需要一款软件用来解决他的问题。这款软件具体要解决什么问题、需求人期望怎样去操作这款软件、业务流程是怎样的,这些就是“需求”的具体内容。需求的挖掘和设计需要专门的人员去做,与程序员不是一批人。需求文档输出后,还需要做效果图,也就是设计软件的操作界面,专业术语叫“UE”。程序员根据需求文档和UE稿来做代码层面的设计,设计完成后再编写代码。
由此可以看出,一款软件的完成,需要多方的合作。在合作衔接的过程中,需要充分理解对方的思路。比如,需求设计人员需要理解客户,UE设计人员和程序员需要理解需求,程序员还需要严格按照UE的设计去做开发。至于是否真正做到了协调一致,则需要测试人员对每个部分进行测试。这个层面是对需求和实现的一致性的测试。还有一个层面,则是对实现的正确性的测试。举个例子,客户的需求是做一个计算器,能够计算加减乘除。需求和实现的一致性测试,即测试做出的程序能否进行加减乘除运算,计算器的布局和颜色是否与需求一致。而实现的正确性测试,则是验证加减乘除运算的结果是否正确。除此以外,还有很多非功能性的测试,例如效率测试、稳定性测试、易用性测试等。
一言以蔽之,做软件测试就是为了给用户提供高质量的程序,让用户满意。软件测试的意义也在于此。
如何进行软件测试
测试的流程大致分为三个步骤:分析需求、设计测试用例、实施测试。
测试人员分析需求有两个目的:一是从测试的角度检查需求是否完善,描述是否清晰,要求是否合理,分析需求的过程也是对需求的测试。二是通过分析需求,将需求拆解成最小的可测试单元,针对这些可测试单元设计测试用例,这样做可以设计出更加详细的测试用例。
设计测试用例最考验测试人员的能力。不仅要掌握黑盒测试用例设计理论:例如边界值法、等价类划分法、因果图法、正交实验法、场景图法、 错误推测法、判定表驱动法等,还要知道软件的六大质量特性:功能性、可靠性、易用性、效率、可维护性、可移植性。针对软件的六大质量特性,结合恰当的测试用例设计方法,设计出完善的测试用例,是测试成功的关键。测试用例应包含:编号、测试用例名称、数据准备、操作步骤、预期结果、测试结果等内容。
实施测试是通过执行一条条的测试用例验证软件的过程。每条测试用例执行的结果可能是通过或不通过。不通过时需要提交缺陷给对应的人员,这个人可能是程序员,也可能是产品设计人员。缺陷被解决后需要再次验证,直到测试用例全部执行通过。
什么时候进行软件测试
从上文中可以知道,测试人员进行需求分析也属于测试的范畴。因此测试实际是在需求生成后就开始的,且越早开始越好。因为如果需求中的问题没有及时被发现,程序员按照错误的需求进行开发,在开发过程中或者开发完成后再修改需求,就会导致程序员返工,造成资源的浪费。当需求测试完成后,程序员编写代码的同时,测试人员就根据需求进行测试用例的设计。设计测试用例与编写代码是同步进行的。在代码编写完成后,测试人员就可以在软件中按照测试用例来实施测试。
软件测试测的是什么
从宏观上讲,软件测试的内容与软件的六大质量特性是一致的,包含:功能性、可靠性、易用性、效率、可维护性、可移植性。
软件测试的目的是什么
软件测试的目的就是尽可能多地发现软件中存在的缺陷,而不是证明软件没有缺陷。由于测试数据、输入和组合场景非常多,穷尽测试是不可能的。即使测试没有发现缺陷也不能说明软件不存在缺陷。软件测试不仅要找出缺陷,还要确认软件满足用户的期望和需求。
对于不了解软件测试的你,现在是否帮助到了你呢?
更多软件测试相关推荐:
文章来源:网络 版权归原作者所有
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理