软件测试方法的分类

软件测试方法的分类

PS:这篇文章每个定义后面都有举例,浅显易懂适合初学者,大佬就跳过吧哈哈另外不要吝啬你的赞哦


一、按开发阶段划分
1.单元测试 unit testing
又称模块测试,测试对象的最小单位是模块(如登录注册等程序模块),检验软件测试基本组成单位
2.集成测试 integration testing
集成测试也称联合测试(联调)、组装测试:将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
3.系统测试 system testing
将软件系统当做一个系统测试,包括功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试冒烟测试。回归测试可以理解为开发修复bug后你再测一次。冒烟测试可以理解为,组装系统后跑一次,会不会直接报错或者完全用不了,不具备测试性。
4.验收测试 acceptance testing
是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。向软件购买者或者产品经理(产品经理有时代表用户,他是做用户调研的)展示该软件系统满足原始需求。

二、按是否手工执行划分
1.手工测试 manual testing
手工测试是由人一个一个的输入用例,然后观察结果,和机器测试相对应,术语比较原始但是必须的一种。
2.自动化测试 automation testing
所谓自动化测试,就是在预设条件下运行系统或者应用程序,评论运行结果。(预先条件包括:正常条件和异常条件)。

三、按是否查看代码划分
1.黑盒测试
黑盒测试类似功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是设么,关心软件的输入数据和输出数据。
2.白盒测试
白盒测试又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,白盒测试是指打开盒子,去研究里面的源代码和程序结果。
3.灰盒测试
灰盒测试是介于白盒测试和黑盒测试之间的一种,灰盒测试多用于集成测试阶段,不仅关注输入、输出的正确性,同时也关注程序内部的情况。例如先黑盒,出现bug后看代码直接定位bug找出原因。

四、按是否运行划分
1.静态测试 static testing
静态方法是指不运行被测程序本身,仅通过分析或检查源程序语法 结构 过程 接口等来检查程序的正确性,对需求规格说明书 软件设计说明书 源程序做结构分析 流程图分析 符号执行来找错。简称:读代码。
2.动态测试 Dynamic Testing
动态测试是指通过运行被测程序,检查运行结果与预期结果的差异。黑盒、灰盒测试被包括于动态测试。

五、按测试对象划分
1.功能测试
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。
2.非功能测试
  (1)性能测试 Performance Testing
     检查系统是否满足需求规格说明书中规定的性能。通常表现在以下几个方面:稳定性、响应时间、吞吐量(TPS)例如负载测试(高压力访问中能持续工作时间一般测7X24H)、并发测试(同时大量用户访问服务器)、压力测试(程序服务器性能瓶颈)
  (2)安全测试 Safety Testing
     安全测试是一个相对独立的领域,需要更多的专业知识。如:WEB的安全测试、需要熟悉各种网络协议、防火墙、CDN、熟悉各种操作系统的漏洞、熟悉路由器等。我相信随着5G新时代的来临,嵌入设备的增加,DDOS会有一段难防的时期。PS这是工作中唯一有意思的部分了哈哈
  (3)兼容性测试 Camptibility Testing
     兼容性测试主要是指,软件之间能否很好的运作,会不会有影响、软件和硬件之间能否发挥很好的效率工作,会不会影响导致系统的崩溃。
     平台测试 这里主要指安卓 ios windows等操作系统
     浏览器测试 IE9.0以上 谷歌 火狐 Safari等主流浏览器
     软件本身能否向前或向后兼容 例如版本更新后是否有数据丢失,以及使用旧版本是否有同样的问题
     测试软件能否与其它相关软件兼容 例如手机一会用VX,一会用CDSN会不会卡死
     数据兼容性测试 例如炉石传说这款游戏在平板、电脑、手机上的账号数据都一模一样
  (4)文档测试 document testing 这块比较虚,用户文件一般是齐全的,因为需要交付。其它的就...hehe
     开发文件:可行性研究报告、软件需求说明书、数据库设计说明书、模块开发卷宗。
     用户文件:用户手册、操作手册,用户文档的作用:改善易安装性;改善软件的易学性与易用性;改善软件可靠性;降低技术支持成本。
     管理文件:项目开发计划、测试计划、测试分析报告、开发进度月报、项目开发总结报告。
     在实际的测试中,最常见的就是用户文件的测试
     文档测试的关注点:文档的术语、正确性、完整性、一致性、易用性
  (5)易用性(用户体验性测试)User ability testing
     易用性是交互的适应性、功能性和有效性的集中体现,也叫用户体验测试。例如软件中是否有反人类设计,让用户在使用中反感。此处应该注意一点,易用性常与安全性矛盾。
  (6)界面测试 user interface Testing
     界面测试(UI测试)测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等。如前端常把登录写成登陆
  (7)安装测试 installation testing
     安装测试是指:测试程序的安装、卸载。例如APP的安装卸载

六、按测试实施的组织划分
1、α测试  (Alpha Testing)邀请部分用户,以及公司内部人员测试,如内部删档测试
2、β测试  (Beta Testing)几乎面向所有用户的测试,如游戏公测
α测试与Beta测试的区别:
(1)测试的场所不同:Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。
(2)Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。beta测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。QQ的beta大家都有影响,小时候不懂为啥加个beta哈哈。
(3)alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。
3、第三方测试  (Third-patry Testing)
介于开发方和用户方之间的第三方组织测试,例如网上的测试平台蒲某英平台,开发完成后你付费,该公司帮你测试。

七、按测试地域划分
1.国际化测试
软件的国际化和软件的本地化是开发面向全球不同地区用户使用的软件系统的两个过程。而本地化测试和国际化测试则是针对这类软件产品进行的测试。由于软件的全球化普及,还有软件外包行业的兴起,软件的本地化和国际化测试俨然成为了一个独特的测试专门领域。例如 抖音APP需要在美国上线,需要让美国本地开发人员对app做出一些修改,因为中美用户使用习惯不同,让母语英语的人翻译更加不易出现歧义或者出现文化宗教等问题
2.本地化测试
符合中国网络标准的测试。

你可能感兴趣的:(软件测试方法的分类)