【架构】常见技术点--测试方法

这篇具有很好参考价值的文章主要介绍了【架构】常见技术点--测试方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导读:收集常见架构技术点,作为项目经理了解这些知识点以及解决具体场景是很有必要的。技术要服务业务,技术跟业务具体结合才能发挥技术的价值。

目录

1. 黑盒/白盒/灰盒测试

2. 单元/集成/系统/验收测试

2.1 单元测试

2.2. 集成测试

2.3 系统测试

2.4 验收测试

3. 回归测试

4. 冒烟测试

5. 性能测试

6. 基准测试

7. A/B测试

8. 代码覆盖测试

9.静态测试和动态测试

 9.1 静态测试

 9.2 动态测试

10.手动测试和自动化测试


 软件测试

目的:确保软件的质量、确认软件以正确的方式做了你所期望的事情,所以他的工作主要是发现软件的错误、有效定义和实现软件成分由低层到高层的组装过程、验证软件是否满足任务书和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,重要的是他要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。


1. 黑盒/白盒/灰盒测试

黑盒测试:不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。一般会有一个输入值,一个输入值,和期望值做比较。

白盒测试:主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:

  • 语句覆盖
  • 判定覆盖
  • 条件覆盖
  • 路径覆盖
  • 条件组合覆盖

灰盒测试:灰盒测试则介于黑盒测试和白盒测试之间。灰盒测试除了重视输出相对于出入的正确性,也看重其内部表现。但是它不可能像白盒测试那样详细和完整。它只是简单的靠一些象征性的现象或标志来判断其内部的运行情况,因此在内部结果出现错误,但输出结果正确的情况下可以采取灰盒测试方法。因为在此情况下灰盒比白盒高效,比黑盒适用性广的优势就凸显出来了。


2. 单元/集成/系统/验收测试

软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试。

2.1 单元测试

    单元测试是对软件中的最小可验证单元进行检查和验证,如一个模块、一个过程、一个方法等。单元测试粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。

2.2. 集成测试

    集成测试也叫做组装测试,通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。

2.3 系统测试

    系统测试时将经过集成测试的软件,作为计算机系统的一部分,与系统中其他部分结合起来,在实际运行环境下进行一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。

2.4 验收测试

    验收测试也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。


3. 回归测试

当发现并修改缺陷后,或在软件中添加新的功能后,重新测试。用来检查被发现的缺陷是否被改正,并且所做的修改没有引发新的问题。


4. 冒烟测试

这一术语源自硬件行业。对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。

冒烟测试是在软件开发过程中的一种针对软件版本包的快速基本功能验证策略是对软件基本功能进行确认验证的手段,并非对软件版本包的深入测试。比如:对于一个登录系统的冒烟测试,我们只需测试输入正确的用户名、密码,验证登录这一个核心功能点,至于输入框、特殊字符等,可以在冒烟测试之后进行。


5. 性能测试

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。

通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。


6. 基准测试

基准测试(Benchmark)也是一种性能测试方式,用来测量机器的硬件最高实际运行性能,以及软件优化的性能提升效果, 同时也可以用来识别某段代码的CPU或者内存效率问题. 许多开发人员会用基准测试来测试不同的并发模式, 或者用基准测试来辅助配置工作池的数量, 以保证能最大化系统的吞吐量.


7. A/B测试

A/B测试,是用两组及以上随机分配的、数量相似的样本进行对比,如果实验组对比组的实验结果相比,在目标指标上具有统计显著性,那就可以说明实验组的功能可以导致你想要的结果,从而帮你验证假设或者做出产品决定。


8. 代码覆盖测试

代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。

在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人员费尽心思设计案例覆盖代码。


9.静态测试和动态测试

 9.1 静态测试

    静态测试的含义是被测程序不运行,只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。即通过对软件的需求规格说明书、设计说明书以及源程序做结构分析和流程图分析,从而来找出错误。例如不匹配的参数,未定义的变量等。 

 9.2 动态测试

    动态测试与静态测试相对应,其是通过运行被测试程序,对得到的运行结果与预期的结果进行比较分析,同时分析运行效率和健壮性能等。这种方法可简单分为三个步骤:构造测试实例、执行程序以及分析结果。 


10.手动测试和自动化测试

自动化测试:顾名思义就是软件测试的自动化,即在预先设定的条件下运行被测程序,并分析运行结果。总的来说,这种测试方法就是将以人驱动的测试行为转化为机器执行的一种过程

手动测试:其在设计了测试用例之后,需要测试人员根据设计的测试用例一步一步来执行测试得到实际结果,并将其与期望结果进行比对。文章来源地址https://www.toymoban.com/news/detail-490697.html

到了这里,关于【架构】常见技术点--测试方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【软件测试】技术精选:Jmeter常见的几种报错

    这个错的含义是 没有连接到服务器地址,因此很可能是 内部网络中断导致。 这个和本地的线程数无关 可能原因是网络抖动不稳定导致 强制停止线程,连接中断产生的错误,正常压测我们等测试结束就好,不用强制停止 这个错误的导致是由于请求接口 设置的请求超时与 请

    2024年02月16日
    浏览(39)
  • 网络攻击常见技术方法及案例分析

    网络攻击: 指损害网络系统安全属性的危害行为,危害行为导致网络系统的机密性、完整性、可控性、真实性、抗抵赖性等受到不同程度的破坏 危害行为的 四个基本类型: 信息泄露攻击、完整性破坏攻击,拒绝服务攻击、非法使用攻击 攻击者 间谍 恐怖主义者 黑客 职业犯

    2024年02月02日
    浏览(16)
  • 电源模块常见温升测试方法分享 -纳米软件

    温升测试是电器产品安规测试项目之一,是为了检测电器产品及部件的温度变化情况,判断是否符合要求。在设备运行过程中会释放一定的热量,如果内部温度过高会影响产品的性能和稳定性,导致绝缘性能下降,因此温升测试是确保产品稳定运行的重要步骤。那么如何进行

    2024年01月24日
    浏览(18)
  • 【接口测试】Postman常见五类断言方法

    1. 响应状态码断言 方法: pm.response.to.have.status(code) 自定义参数: code (期望的 HTTP 状态码) 使用方法:验证 API 响应的 HTTP 状态码是否与期望的状态码匹配。 2. 响应头断言 方法: pm.response.to.have.header(key) 和 pm.expect(pm.response.headers.get(key)).to.eql(value) 自定义参数: key (HTTP 头

    2024年03月20日
    浏览(16)
  • 00-开篇导读:学习分库分表开源框架的正确方法

    互联网高速发展带来海量的信息化数据,也带来更多的技术挑战。各种智能终端设备(比如摄像头或车载设备等)以每天千万级的数据量上报业务数据,电商、社交等互联网行业更不必说。这样量级的数据处理,已经远不是传统关系型数据库的单库单表架构所能支撑的,如何

    2024年02月03日
    浏览(12)
  • 常见的6种软件测试用例设计方法

    常见的软件测试用例设计方法,个人认为主要是下面这6种: 流程图法(也叫场景法) 等价类划分法 边界值分析 判定表 正交法 错误推测法 这6种常见方法中,我分别按照定义、应用场景、使用步骤、案例讲解这4个部分进行讲解。 所以本文行文结构如下 每种用例方法定义、

    2024年01月24日
    浏览(18)
  • 黑盒测试常见错误类型说明及解决方法有哪些?

    目录 1、用户界面错误 2、遗漏信息 3、错误的、误导的或令人迷惑的信息 功能性 易用性(用户学习使用程序的时间和记住怎样使用程序的时间) 执行速度(多数是启动速度,查询速度,刷新速度及响应速度等) 用户使用时产生错误的比率(在允许用户任意使用的情况下,越

    2023年04月25日
    浏览(29)
  • 常见36种web渗透测试漏洞描述及解决方法

    漏洞描述:日常apache一些样例文件没有删除,可能存在cookie、session伪造,进行后台登录操作。 解决方法: (1)删除样例文件; (2)对apache中web.xml进行相关设置。 漏洞描述:由于web网站中存在有弱口令,导致攻击者通过弱口令可轻松登录系统中,从而进行下一步的攻击,

    2024年02月16日
    浏览(16)
  • Selenium自动化测试框架常见异常分析及解决方法

    现象: pycharm中输入from selenium import webdriver, selenium标红 原因1: pycharm使用的虚拟环境中没有安装selenium, 解决方法: 在pycharm中通过设置或terminal面板重新安装selenium 原因2: 当前项目下有selenium.py,和系统包名冲突导致, 解决方法:重命名这个文件 1)未找到响应的浏览器驱动 WebDriv

    2024年02月06日
    浏览(14)
  • Maven编译常见问题收集

    这是因为父pom引入依赖的时候,把 使用dependencyManagement可以 统一 管理项目中依赖包的 版本号 ,当需要变更版本号时只需在父pom中修改即可;如果某个子项目需要指定一个特殊的版本号时,只需要在自己项目的pom.xml中显示声明一个版本号即可,此时子项目会使用自己声明的

    2024年02月09日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包