最近有一些测试新手在问软件测试的方法分为哪几种,借此机会我也将自己对软件测试的一些经验和认识与大家一起分享一下吧。实际上,软件测试的方法很多,口述出来的话,感觉比较混乱,本文中我讲一些常用的软件测试方法列出来,希望大家对软件测试有一个全面而清晰的看法,同时为大家推荐几款比较好用的软件测试工具。

1、按是否查看程序内部结构分为:

  • 黑盒测试(black-box testing):只关心输入和输出的结果
  • 白盒测试(white-box testing):去研究里面的源代码和程序结构

2、按是否运行程序分为:

  • 静态测试(static testing):是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。静态测试包括:

    • 对于代码测试,主要是测试代码是否符合相应的标准和规范。
    • 对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。
    • 对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求。
  • 动态测试(dynamic testing),是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程

3、按阶段划分:

  • 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。桩模块(stud)是指模拟被测模块所调用的模块,驱动模块(driver)是指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。
  • 集成测试(integration testing),是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部门。集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。
  • 系统测试(system testing),指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
    系统测试的主要依据是《系统需求规格说明书》文档。
  • 验收测试(acceptance testing),指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。验收测试又分为a测试和beta测试,其中a测试指的是由用户、 测试人员、开发人员等共同参与的内部测试,而beta测试指的是内测后的公测,即完全交给最终用户测试。

4、黑盒测试分为功能测试和性能测试:

  • 功能测试(function testing),是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。包括

    • 逻辑功能测试(logic function testing)
    • 界面测试(UI testing)UI=User Interface
    • 易用性测试(usability testing):是指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方。
    • 兼容性测试(compatibility testing):包括硬件兼容性测试和软件兼容性测试
  • 性能测试(performance testing):软件的性能主要有时间性能和空间性能两种:
    • 时间性能:主要指软件的一个具体事务的响应时间(respond time)。
    • 空间性能:主要指软件运行时所消耗的系统资源。
  • 软件性能测试分为:
    • 一般性能测试:指的是让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。
    • 稳定性测试也叫可靠性测试(reliability testing):是指连续运行被测系统检查系统运行时的稳定程度。
    • 负载测试(load testing):是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。
    • 压力测试(stress testing):是指持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。(Validate the system or software can allowed the biggest stress.)

5、其他测试类型:

  • 回归测试(regression testing)是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.)
  • 冒烟测试(smoke testing),是指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。(validate the major function is deployed or not in software of system when a new build or release is implement.)
  • 随机测试(random testing),是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。(means or all the test data is random, to validate the some edge bugs.)

测试工具推荐

TestCafé

TestCafé是DevExpress公司最新研发的一款革命性的Web测试框架,它支持所有主流浏览器,操作系统和移动平台,支持远程设备,多浏览器并行测试。TestCafé内置一个可视化测试记录器,支持持续集成,脚本标记分析等强大功能。

HttpWatch

HttpWatch是一款集成的HTTP嗅探器,为IE和Firefox提供新的方法以查看您网站的负载和运行情况。httpwatch 功能类似firebug,可以监控请求头,响应头,显示资源加载瀑布图。但是httpwatch还能显示GZIP压缩信息,DNS查询,TCP链接信息。

Parasoft SOAtest

Parasoft SOAtest是业内最全面的API、云服务和SOA测试平台。允许在加载测试中验证SOAtest测试中的性能和功能,并提供non-Parasoft加载测试组件,和检测并发问题。

>>>参考阅读:

  • 史上最全的Web性能测试工具大全(上)

  • 史上最全的Web性能测试工具大全(下 )

软件测试方法的分类及工具推荐相关推荐

  1. 软件测试方法的分类细谈

    软件测试方法种类繁多,记忆起来混乱, 因此,我通过查阅资料,参考一些书籍,把常用的软件测试方法列出来,方便认识软件测试的方法. 从测试设计方法分类 测试名称 测试内容 Black  box 黑盒测试 ...

  2. 电脑必备软件合集,实用工具推荐

    推荐一:卓师兄 这是一款非常专业的安卓数据恢复软件.使用它可以轻松恢复安卓微信.QQ聊天记录,还可以导出短信和通话记录,还可以直接导出到Excel.并且无需root即可轻松使用,只需连接电脑即可快速使 ...

  3. 软件开发好用的工具推荐

    1.文件搜索工具: Everything (Windows) 下载地址 FSearch (Linux.Unix) 不过需要注意的是,Everything虽然体积小,搜索速度极快(基于C语言,速度10倍 ...

  4. 设计电脑必备软件合集,实用工具推荐

    安利一:AI Draw 不知道有没有小伙伴喜好线条绘画的头像呢?这个神奇的网站支持将上传的照片,转换成线条图案,只需一键上传照片,等待些许时间即可得到一张极具线条感的艺术头像,好看又高级! 安利二:波 ...

  5. 【软件测试】软件测试方法分类

    目录 软件测试方法分类 一.从是否关心内部结构来看 1.白盒测试: 2.黑盒测试: 3.灰盒测试: 二.从是否执行代码看 1.静态测试: 2.动态测试: 三.从开发过程级别看 1.单元测试: 2.集成 ...

  6. 2022年网络运维必备软件和工具推荐

    网络运维是指为保障网络与业务正常.安全.有效运行而采取的生产组织管理活动,简称运维管理或OAM:负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率.为了让网络运维工作更高效快速,今天我 ...

  7. hua图软件 mac_工具推荐--Mac下画图软件:Omnigraffle

    场景描述: 日常工作中,开发的小伙伴可能会遇到,需要画流程图,架构图,时序图,UML图,网络拓扑图...等等各种图,有的小伙伴用Visio,ProcessOn,亿图图示......又是一堆软件,先不说 ...

  8. 软考高级系统架构设计师系列论文十三:论软件测试方法和工具的选用

    软考高级系统架构设计师系列论文十三:论软件测试方法和工具的选用 一.摘要 二.正文 三.总结 一.摘要 软件测试作为保证软件质量和可靠性的关键技术手段正日益受到广泛的重视.本文以某区贸工局的电子政务系 ...

  9. windows软件常用快捷键cmd+英文写作工具推荐

    文章目录 常用工具 好用软件 远程桌面: 快捷键: 切换标签/应用 显示所有后台打开的应用界面 任意截图 录屏 页面半边显示 快速回到桌面: 切换桌面: 切换大小写 cmd 其他 获取网页中latex ...

最新文章

  1. 通过Dockerfile构建Docker镜像
  2. VS.NET2003调试出现的问题及相关解决方法
  3. log-malloc2 0.2.4 发布
  4. fluorinefx C# 版的开源rtmp服务器
  5. Java文件类String [] list(FilenameFilter fnf)方法,带示例
  6. php 正则匹配收货地址,PHP简单实现正则匹配省市区的方法
  7. 第十课:栈的表示与实现
  8. 动态规划经典例题:钢条切割
  9. 阿里总裁马云对于第5个经济体技术有着独特的见解
  10. 谱曲软件-MuseScore
  11. 【思考】再谈面向过程与面向对象
  12. BBR:Congestion-Based Congestion Control解读
  13. Exploiting Shared Representations for Personalized Federated Learning【2021 icml】
  14. Vue之鼠标悬停显示页面加载时间
  15. cnpm : 无法加载文件 C:\Users\azhao\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本 问题解决
  16. html 引入网页title的图标,生成 .ico 图标
  17. ZZULIOJ:1028: I love 闰年
  18. 如何监控Windows进程的句柄资源
  19. 世界上第一台个人电脑是哪台?
  20. 淘宝抓取宝贝买家秀核心代码

热门文章

  1. PHP生成PDF-TCPDF
  2. java数组和字符串相互转换
  3. 长安大学微型计算机原理与接口技术答案,长安大学微机原理与接口技术B卷答案...
  4. 法官批准离婚申请 布兰妮正式恢复“单身”(图)
  5. 【计算机网络】IP协议分析
  6. 华为手机怎么关闭下拉智慧搜索
  7. 端午节假期----心情记录
  8. pacemaker做nginx高可用
  9. LTE IPV6地址配置
  10. csh shell_06145.16.1同一OS用户并行Shell脚本中kinit不同的Principal串掉问题分析