首页 > 其他分享 >常见的二十种软件测试方法详解(史上最全)

常见的二十种软件测试方法详解(史上最全)

时间:2022-09-25 10:44:57浏览次数:52  
标签:二十种 功能 模块 最全 内存 测试 易用性 软件 软件测试

一.单元测试(模块测试)

单元测试是对软件组成单元进行测试。其目的是检验软件组成单位的正确性。测试对象是:模块。

对模块进行测试,单独的一个模块测试,属于静态测试的一类

测试阶段:编码后或者编码前(TDD)

测试对象:最小模块

测试人员:白盒测试工程师或开发工程师(测源码)

测试依据:代码和注释+详细设计文档

测试方法:白盒测试(因为要测源码)

测试内容:模块接口测试(测试模块里面的参数传递是否正确)、局部数据结构测试(测试变量的作用域范围)、路径测试(if-else 判断必须覆盖所有分支)、错误处理测试、边界测试( for 循环)

二.集成测试

集成测试也称联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口(白盒测试)以及集成后的功能(黑盒测试进行正确性检测的一种测试。集成主要目的是检查软件单位之间的接口是否正确。

测试阶段:一般单元测试之后进行

测试对象:模块间的接口

测试人员:白盒测试工程师或开发工程师

测试依据:单元测试的模块+概要设计文档

测试方法:黑盒测试与白盒测试相结合

测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单个模块缺陷对系统的影响

三.系统测试

将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。

测试阶段:集成测试通过之后

测试对象:整个系统(软、硬件)

测试人员:黑盒测试工程师(对功能测试)

测试依据:需求规格说明文档

测试方法:黑盒测试

测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

回归测试(Regression Testing)

四.回归测试

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

有了代码修改后就进行回归测试,根据测试阶段确定回归范围。

在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。随着系统的庞大,回归测试的成本越来越大,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。

五.冒烟测试

这一术语源自硬件行业。

对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。也可以理解为该种测试耗时短,仅用一袋烟功夫足够了。

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。

概念:对核心主干流程进行测试,如果成功,就认为成功

作用:判断是否接受测试的标准,若核心主干都走不通,那么直接打下去

六.验收测试

买到新手机,一般会有7天包退,一个月包换,我们会尽量在7天内把手机的所有功能都试一遍。

验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。

测试阶段:系统测试通过之后

测试对象:整个系统(包括软硬件)。

测试人员:主要是最终用户或者需求方。

测试依据:用户需求、验收标准

测试方法:黑盒测试(对功能进行测试)

测试内容:同系统测试(功能…各类文档等)

七.静态测试(不运行程序本身,测试文档)

静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。‘对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。

八.动态测试

动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。大多数软件测试工作都属于动态测试。

九.手工测试

就是由人去一个一个的输入测试用例,然后观察结果,和机器测试相对应,属于比较原始但是不可缺少的一个步骤。

总结优缺点:

(1)优点:自动化无法替代探索性测试、发散思维结果的测试。

(2)缺点:执行效率慢,量大易错。

十.自动化测试

就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。

简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。

自动化实施步骤:

1.完成功能测试,版本基本稳定

2.根据项目特性,选择适合项目的自动化工具,并搭建环境

3.提取手工测试的测试用例转化为自动化测试的用例

4.通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期

5.生成自动测试报告

6.持续改进,脚本优化。

十一.业务测试

业务测试是测试人员把系统各个模块串接起来运行、模拟真实用户实际的工作流程,满足用户需求定义的功能来进行测试的过程。

例如查看邮件:

登录网站-输入用户名、密码登录-进入收件箱-查到邮件-点击打开-查阅-关闭邮件-退出邮箱-关闭网站

业务测试关注需求和用户

所有业务流程进行测试,包过主干流程,分支流程,甚至更小的流程

测不同的业务,必须对项目的需求特别了解

十二.界面测试

界面测试(简称UI测试),测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等。

十三.文档测试

十四.兼容性测试

大家经常上网,同一网站在不同的浏览器上表现不一样

WEB测试 ;APP测试

兼容性主要是指软件之间能否很好地运作,会不会有影响、软件和硬件之间能否发挥很好的效率工作,会不会影响导致系统的崩溃。

平台测试

浏览器测试

软件本身能否向前或者向后兼容

测试软件能否与其它相关的软件兼容

数据兼容性测试

最常见的就是浏览器的兼容性测试,不同浏览器在css,js解析上的不同会导致页面的显示不同。

十五.易用性测试

易用性(Useability)是交互的适应性、功能性和有效性的集中体现。

手机拔打电话功能不放在首页,放在一个目录下边,点击三四次才可以找到拔打电话功能,这个功能好用吗?

十六.性能测试

检查系统是否满足需求规格说明书中规定的性能。

通常表现在以下几个方面:

对资源利用(如内存、处理机周期等)进行的精确度量

对执行间隔

日志事件(如中断,报错)

响应时间

吞吐量(TPS)

辅助存储区(例如缓冲区、工作区的大小等)

处理精度等进行的监测

十七.易用性测试

易用性(Useability)是交互的适应性、功能性和有效性的集中体现。易用性属于人体工程学的范畴,人体工程学(ergonomics)是一门将日常使用的东西设计为易于使用和实用性强的学科。

手机拔打电话功能不放在首页,放在一个目录下边,点击三四次才可以找到拔打电话功能,这个功能好用吗?

在某些大厂会有专门的部门来进行易用性测试,又叫用户体验测试。

十八. 安装测试

测试程序的安装、卸载

典型的是app的安装、卸载

十九.安全测试

安全测试是一个相对独立的领域,需要更多的专业知识。例如web的安全测试,需要熟悉各种网络协议

TCP\HTTP,防火墙,CDN,熟悉各种操作系统的漏洞,熟悉路由器等。从软件来说,熟悉各种攻击手段,例如

SQL注入、Xss等。

作为web入门测试,可以IBM的appscan。

二十.内存泄漏测试

电脑打开的东西太多,机器反应慢甚至死机,重启之后就好了,过会同样的问题出现

很多软件系统都存在内存泄露的问题,尤其是缺乏自动垃圾回收机制的“非托管”语言 编写的程序,例如C、CH、Delphi等。从用户使用的角度来看,内存泄露本身不会造成什 么危害,一般用户可能根本不会感觉到内存泄露的存在。但是内存泄露是会累积的,只要执 行的次数足够多,最终会耗尽所有可用内存,使软件的执行越来越慢,最后停止响应。可以 把这种软件的问题比喻成软件的“慢性病”。

造成内存泄露的原因有很多,最常见的有以下几种。

1.分配完内存之后忘了回收。

2.程序写法有问题,造成没办法回收。

3.某些API函数的使用不正确,造成内存泄露。

4.没有及时释放。

内存泄漏的检测:

1.对于不同的程序可以使用不同的方法来进行内存泄露的检查,还可以使用一些专门的工具来进行内存问题的检查,例如MemProof. AQTime、Purify、BundsChecker等。 有些开发工具本身就带有内存问题检查机制.要确保程序员在编写程序和编译程序的时候打开这些功能。

2.通过代码扫描分析工具来检查

标签:二十种,功能,模块,最全,内存,测试,易用性,软件,软件测试
From: https://www.cnblogs.com/ybqjymy/p/16727372.html

相关文章

  • 55道软件测试精品面试题分享!内附答案!
    1、你的测试职业发展是什么?测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按......
  • docker compose最全文档
    1.dockercompose安装#自动sudoyumupdatesudoyuminstalldocker-compose-plugindockercomposeversion#手动安装DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.doc......
  • 软件测试的一般步骤
    11.7软件测试的一般步骤除非是测试一个小程序,否则一开始就把整个系统作为一个单独的实体来测试是不现实的。与开发过程类似,测试过程也必须分步骤进行,后一个步骤在逻辑上......
  • Google开发者大会最全视频资源
    最全的视频资源在官网,但同时,leetcode整理的个人觉得更加的棒! 特别企划|力扣带你逛谷歌开发者大会  Google开发者大会更大力的断推跨平台技术这几年总有些跑偏的......
  • 应用软件测试用例设计方法
    1、引言测试设计遵循与软件设计相同的工程原则。好的软件设计包含几个对测试设计进行精心描述的阶段。这些阶段是:测试策略测试计划测试描述测试过程上述四个测试设计阶段适......
  • clickhouse 超底层原理& 高可用集群 实操(史上最全)
    MPP数据库简介什么是OLTP与OLAP?OLTP(OnLineTransactionProcessing)联机事务处理系统例如mysql。擅长事务处理,在数据操作中保持着很强的一致性和原子性,能够很好的......
  • 【全网最全】springboot整合JSR303参数校验与全局异常处理
    一、前言我们在日常开发中,避不开的就是参数校验,有人说前端不是会在表单中进行校验的吗?在后端中,我们可以直接不管前端怎么样判断过滤,我们后端都需要进行再次判断,为了安全。......
  • 一起瓜分20万奖金!第三届火焰杯软件测试大赛开始公开选拔!
    摊牌了,不装了,我是广告。广告嘛,别整那么长的软文,忽悠看到底部才发现是广告,挺浪费时间的。咱们就说说这次的软件测试大赛吧。火焰杯比赛已经成功举办两届,累计参赛院校145所......
  • 软件测试面试过程解析
      对很多没有如何经验或者面试次数不多的小伙伴来说感觉每次跳槽或者首次面试的时候都会感觉特别紧张,然后不知道自己该准备些什么,或者不知道面试的流程是什么样子,那么......
  • 2022 CLion 中的Cygwin 配置(最全,最良心版)
    目录前景提要一、windows10安装Cygwin1.找到官网,进入官网,百度搜索或者点击下边链接.2.找到如图位置,双击下载3.下载完成后,找到下载的位置,双击exe文件.4.进入欢迎页界......