添加客服微信
400 035 7887
021-60725088-8054
软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程。
其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别,找出软件存在的缺陷。
数据调查显示,软件缺陷在开发前期发现比在开发后期发现,在推向市场前发现比在推出后发现,资金、人力上能节约90%!所以说软件的缺陷应该尽早发现。
帮大家梳理了软件从研发到上线的整个过程,大致包含的测试类型,来了解一下。
并非所有的软件都要进行任何类型的测试的,可以根据产品的具体情况进行不同类型的测试。
接下来给你具体科普一下这些测试类型。
软件测试过程主要包括以下几大部分
单元测试、集成测试、系统测试、验收测试
单元测试
是指对软件中的最小可测试单元进行检查和验证。
冒烟测试
冒烟测试是自由测试的一种。
冒烟测试在测试中发现问题,找到了一个Bug,然后开发人员会来修复这个Bug。这时想知道这次修复是否真的解决了程序的Bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为冒烟测试。
冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。
回归测试
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
集成测试
集成测试也叫组装测试或联合测试,它是单元测试的逻辑扩展。
在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
白盒测试
程序员开发中的代码测试,是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
白盒测试主要针对的是程序代码逻辑,黑盒测试主要针对的是程序所展现给用户的功能,简单的说就是前者测试后台程序后者测试前台展示功能。
灰盒测试
介于黑盒与白盒之间的测试。
UI测试
即用户界面测试,测试用户界面的功能模块的布局是否合理,整体风格是否一致和各个控件的放置位置是否符合客户使用习惯,更重要的是要符合操作便捷,导航简单易懂,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等等。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试和压力测试都属于性能测试,两者可以结合进行。
通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
软件兼容性测试是指检查软件之间能否正确地进行交互和共享信息。
软件兼容性测试工作的目标是保证软件按照用户期望的方式进行交互。
系统测试
系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。
比较常见的、典型的系统测试包括恢复测试、安全测试、压力测试。
1)恢复测试
恢复测试作为一种系统测试,主要关注导致软件运行失败的各种条件,并验证其恢复过程能否正确执行。
在特定情况下,系统需具备容错能力。另外,系统失效必须在规定时间段内被更正,否则将会导致严重的经济损失。
2)安全测试
安全测试用来验证系统内部的保护机制,以防止非法侵入。
在安全测试中,测试人员扮演试图侵入系统的角色,采用各种办法试图突破防线。因此系统安全设计的准则是要想方设法使侵入系统所需的代价更加昂贵。
3)压力测试
压力测试是指在正常资源下使用异常的访问量、频率或数据量来执行系统。
验收测试是部署软件之前的最后一个测试操作。
在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。
它是技术测试的最后一个阶段,也称为交付测试。
验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试的任务就是进一步验证软件的有效性,使软件的功能和性能如同用户所合理期待的那样。
Bug探索测试是对产品的各功能模块进行探索性测试和验证,找出其中存在的功能、性能以及用户体验方面的BUG。验证功能是否按需求设计、是否存在缺陷,寻找可能存在的安全隐患、性能隐患等。
用户体验测试就是测试人员在将产品交付客户之前处于用户角度进行的一系列体验使用。
如:界面是否友好(吸引用户眼球,给其眼前一亮)、操作是否流畅、功能是否达到用户使用要求等。
站在用户角度亲自操作,反馈产品功能使用、易用性、界面设计、兼容性、性能并发、安全性等方面的建议。满足产品适应不同用户使用习惯、使用环境等需求。
推荐阅读:
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。