测试动态 / 测试知识 / 这些软件测试基础知识你得了解
这些软件测试基础知识你得了解
2023-08-31 作者:lml 浏览次数:1397

  一、软件测试阶段

  1、单元测试

  概念: 对软件中的最小可测试单元进行检查和验证。

  原则: (1)尽可能测试用例相互独立 (2)一般由代码开发人员实施

  好处:(1)能尽早发现缺陷 (2)利于重构 (3)简化集成(为集成测试奠定基础) (4)单元测试规范很大程度上减少文档编写 (5)用于设计

  限制:(1)穷尽测试不可能 (2)一行代码需要3~5行测试代码

  单元测试框架:PHPUnit CppUnit JUnit nunit(针对.net)

  2、集成测试

  概念:在单元测试基础上,将单元组装测试,关注接口

  集成测试实施方案:(1)Big Bang (2)自顶向下 (3)自底向上 (4)核心系统集成(先测试核心部分) (5)高频测试

  2、3常用于以前的瀑布模型,4、5常用于现在的敏捷开发

  3、系统测试(主要用黑盒测试)

  概念:将集成测试的软件与系统中其他部分结合起来,在 实际运行环境 中测试 ,偏于业务角度的验证

  关注点:(1)系统本身使用 (2)系统与其他系统的连通 (3)在不同压力下的表现 (4)真实使用环境下的表现

  4、验收测试

  概念:交付测试。用户进行测试

  细分:alpha测试:用户在开发者提供的环境下测试 beta测试:完全脱离开发者

  二、软件测试手段

  1、分类

  根据测试可见度:黑盒、白盒、灰盒

  状态:静态、动态

  测试方式:手工、自动化

  黑盒

  优点:(1)容易实施,无需关注内部 (2)更贴近用户视角

  缺点:(1)测试覆盖率较低,一般只有40% (2)黑盒自动化测试复用率低,维护成本较高

  主要测试什么:(1)不正确or遗漏功能 (2)接口上,输入输出是否正确 (3)是否有数据结构错误或外部信息(比如数据文件)访问错误 (4)系统性能是否满足要求

  主要设计方法:(1)等价类划分法 (2)边界值分析法(比较重点关注) (3)错误推断法 (4)因果图法 (5)正交试验分析法 (6)状态迁移图法 (7)流程分析法

  白盒:结构化测试,逻辑测试,透明测试

  优点:(1)迫使测试人员理解软件原理 (2)覆盖率较高,可以检测每条分支和路径 (3)能发现隐藏在代码的错误 (4)对代码测试比较彻底

  缺点:(1)成本高 (2)无法检测遗漏路径 (3)无法检测数据敏感性错误 (4)无法直接验证需求正确性

  主要测试方法:(1)代码检测法 (2)静态结构分析法 (3)静态质量度量法 (4)逻辑覆盖法(6种):语句、路径、判定、条件、判定/条件、条件组合覆盖。 (5)基本路径测试法

  静态测试

  不执行被测程序,通过评审软件文档、代码、程序复杂度、检查是否符合编程标准,来发现程序不足之处。

  有些白盒是静态测试。

  方法:互审:程序员互相检查;走查:小组集体检查;会议:召开会议检查

  动态测试:

  运行被测程序,比较运行结果与预期结果,分析运行效率、正确性、健壮性等。

  黑盒大部分是动态测试。

  手工测试:众包测试、探索式测试

  优点:容易发现缺陷,容易实施、创造性、灵活性

  缺点:不一致性、可靠性低、依赖人力资源、重复测试效率低、覆盖量不容易度量

  自动化测试:

  用单独的测试工具软件,控制测试的自动化执行,并对预期和结果进行自动检查。

  单元、接口、性能多用该测试。

  优点:高效高速、准确可靠、高复用性、覆盖量容易度量

  缺点:机械、发现缺陷率低、一次性投入较大

  三、软件测试模式

  按测试模式分类:瀑布模型、敏捷测试、基于脚本测试、基于风险测试、探索式测试等

  瀑布模型、v模型、W模型、x模型、H模型

  四、敏捷测试、基于脚本测试、基于风险的测试

  敏捷测试特点:

  强调从客户角度进行测试,重点关注迭代测试新功能,不再强调测试阶段,尽早测试,不间断测试,具备条件即测试,强调持续反馈,预防缺陷重于发现缺陷。

  敏捷测试VS传统测试

  基于脚本测试-SBT Script-based Testing

  脚本测试-ST Scripted Testing

  探索式测试-ET Exploratory Testing

  ET完全抛开测试脚本的测试。它是一种测试风格、思维而不是一种测试技。

  优点:

  1.更能激发测试人员的创造性和工作乐趣

  2.增加了发现新的或较深入Bug的可能性

  3.在较短时间内找到更多Bug以及对SUT做一个快速的评估

  4.有利于更加有效的实施自动化

  5.更加适用于敏捷项目

  6.减少了在简单、繁复上用例的无谓编写时间

  缺点:

  1.测试管理上有局限性,较难协调和控制

  2.对于Bug的重复利用和重复上作用有限

  3.对测试人员的测试技能和业务知识深度依赖较大

  4.只有在被测系统已完全可用的前提下才更有作用

  5.ET的生产率很难定义

  6.ET本身较难进行自动化

  ET测试方法:局部、全局

  局部探索式测试:输入、状态、代码路径、用户数据、执行环境。

  全局探索式测试:漫游测试法—–商业区、旅馆区、历史区、旅游区、娱乐区、破旧区。

  ET和ST要结合使用,ET应用比如说,问几个问题猜出你心中的答案的应用

  基于风险测试-RBT Risk-based Testing

  风险有:质量风险、管理风险、风险级别=风险可能性*风险严重度

  基于模型的测试-MBT model-based testing

  根据需求建模,借助工具建模然后执行,偏向于自动化测试。主要的MBT工具,微软的Spec Explorer。。

  五、软件测试的分类

  按照测试类型分:

  功能测试:对提供给用户的功能进行测试。

  针对的问题:功能 错误或遗漏、界面问题、软件本身性能错误、数据及访问错误初始化及终止错误。

  功能自动化测试工具:QTP(基于关键字驱动)现在其实已经用的很少了、winrunner; silkTest; Rational robot; selenium; Watir; Sikuli

  性能测试:负载测试、压力测试、稳定性测试

  性能指标:并发用户数VU、每秒事务数TPS、系统响应时间、设备性能

  自动化测试工具:LoadRunner、Silkperformer、Jmeter、WebLoad、Apache Bench、LoadUI

  静态性能评估:对Web应用的页面进行静态分析,并给出评估结果的性能分析方法。工具有YSlow、PageSpeed。他们是浏览器插件,评级静态网页的标准有14个,减少HTTP请求之类的。

  应用性能管理(APM):提供对系统的实时监控以实现性能管理、故障管理的解决方案。比如听云。

  安全测试:是否符合产品安全需求和质量标准。

  渗透测试:通过模拟对软件系统的恶意攻击行为来评估系统安全性的一种测试,与黑客不同于,黑客未授权,而且最后还会抹掉记录。

  渗透测试 VS 安全测试

  攻————–防

  点————–面

  可以查看OWASP网站,关注网站中的OWASP Top10和Test Guide

  安全测试工具:APPscan(针对web应用的漏洞扫描)、Webinspect(类似APPscan)、Nessus(针对服务器主机类)、Nmap(端口嗅探工具)、MetaSploit(攻击框架)、WebScarab(代理劫持)、Fortify(白盒测试,代码静态分析)、W3AF(针对web应用)

  兼容性测试:软件本身的兼容性、不同平台下的兼容性、在运行设备下的兼容性、软件互操作性(指的是软件内部不同功能操作是否兼容 & 与其他软件是否兼容,比如与微信是否兼容,与微信不兼容基本上就没用了)

  对web应用,还有浏览器兼容性,因为浏览器的内核不同

  浏览器兼容性测试工具:BrowserShots(该网站输入url值,可以看不同平台下的显示)

  文档测试:配套的文档的测试。如用户手册、使用说明、用户帮助文档等。

  可靠性测试:软件可靠性、(可靠性测试更多的是)硬件可靠性。

  易用性测试:使用软件时是否感觉方便,用户体验怎样。

  本地化测试:针对软件的本地化版本实施的针对性测试。比如英文版,中文版。不过不仅仅是语言,测试内容还有:1.语言、书写习惯;2.时区、日期格式、货币;3.当地风俗、法律法规;4.政治敏感内容。

  部署测试:安装测试,主要验证系统部署过程,并确保软件经过安装测试后可以正常使用。主要测试内容:不同环境下的部署验证;参照部署文档执行,过程的合理、正确性;

  无障碍测试:提供便于特殊人群使用的功能(咨询测试报价

文章标签: 软件测试 软件测评
热门标签 换一换
软件崩溃 稳定性测试 API测试 API安全测试 网站测试测评 敏感数据泄露测试 敏感数据泄露 敏感数据泄露测试防护 课题软件交付 科研经费申请 软件网站系统竞赛 竞赛CMA资质补办通道 中学生软件网站系统CMA资质 大学生软件网站系统CMA资质 科研软件课题cma检测报告 科研软件课题cma检测 国家级科研软件CMA检测 科研软件课题 国家级科研软件 web测评 网站测试 网站测评 第三方软件验收公司 第三方软件验收 软件测试选题 软件测试课题是什么 软件测试课题研究报告 软件科研项目测评报告 软件科研项目测评内容 软件科研项目测评 长沙第三方软件测评中心 长沙第三方软件测评公司 长沙第三方软件测评机构 软件科研结项强制清单 软件课题验收 软件申报课题 数据脱敏 数据脱敏传输规范 远程测试实操指南 远程测试 易用性专业测试 软件易用性 政府企业软件采购验收 OA系统CMA软件测评 ERP系统CMA软件测评 CMA检测报告的法律价值 代码原创性 软件著作登记 软件著作权登记 教育APP备案 教育APP 信息化软件项目测评 信息化软件项目 校园软件项目验收标准 智慧软件项目 智慧校园软件项目 CSRF漏洞自动化测试 漏洞自动化测试 CSRF漏洞 反序列化漏洞测试 反序列化漏洞原理 反序列化漏洞 命令执行 命令注入 漏洞检测 文件上传漏洞 身份验证 出具CMA测试报告 cma资质认证 软件验收流程 软件招标文件 软件开发招标 卓码软件测评 WEB安全测试 漏洞挖掘 身份验证漏洞 测评网站并发压力 测评门户网站 Web软件测评 XSS跨站脚本 XSS跨站 C/S软件测评 B/S软件测评 渗透测试 网站安全 网络安全 WEB安全 并发压力测试 常见系统验收单 CRM系统验收 ERP系统验收 OA系统验收 软件项目招投 软件项目 软件投标 软件招标 软件验收 App兼容性测试 CNAS软件检测 CNAS软件检测资质 软件检测 软件检测排名 软件检测机构排名 Web安全测试 Web安全 Web兼容性测试 兼容性测试 web测试 黑盒测试 白盒测试 负载测试 软件易用性测试 软件测试用例 软件性能测试 科技项目验收测试 首版次软件 软件鉴定测试 软件渗透测试 软件安全测试 第三方软件测试报告 软件第三方测试报告 第三方软件测评机构 湖南软件测评公司 软件测评中心 软件第三方测试机构 软件安全测试报告 第三方软件测试公司 第三方软件测试机构 CMA软件测试 CNAS软件测试 第三方软件测试 移动app测试 软件确认测试 软件测评 第三方软件测评 软件测试公司 软件测试报告 跨浏览器测试 软件更新 行业资讯 软件测评机构 大数据测试 测试环境 网站优化 功能测试 APP测试 软件兼容测试 安全测评 第三方测试 测试工具 软件测试 验收测试 系统测试 测试外包 压力测试 测试平台 bug管理 性能测试 测试报告 测试框架 CNAS认可 CMA认证 自动化测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568