百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

软件测试基础学习

bigegpt 2024-09-20 13:43 5 浏览

一、软件测试阶段

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.政治敏感内容。

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

无障碍测试:提供便于特殊人群使用的功能。

如果你们对上面测试点有补充,欢迎给我留言!

相关推荐

方差分析简介(方差分析通俗理解)

介绍方差分析(ANOVA,AnalysisofVariance)是一种广泛使用的统计方法,用于比较两个或多个组之间的均值。单因素方差分析是方差分析的一种变体,旨在检测三个或更多分类组的均值是否存在...

正如404页面所预示,猴子正成为断网元凶--吧嗒吧嗒真好吃

吧嗒吧嗒,绘图:MakiNaro你可以通过加热、冰冻、水淹、模塑、甚至压溃压力来使网络光缆硬化。但用猴子显然是不行的。光缆那新挤压成型的塑料外皮太尼玛诱人了,无法阻挡一场试吃盛宴的举行。印度政府正...

Python数据可视化:箱线图多种库画法

概念箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)...

多组独立(完全随机设计)样本秩和检验的SPSS操作教程及结果解读

作者/风仕在上一期,我们已经讲完了两组独立样本秩和检验的SPSS操作教程及结果解读,这期开始讲多组独立样本秩和检验,我们主要从多组独立样本秩和检验介绍、两组独立样本秩和检验使用条件及案例的SPSS操作...

方差分析 in R语言 and Excel(方差分析r语言例题)

今天来写一篇实际中比较实用的分析方法,方差分析。通过方差分析,我们可以确定组别之间的差异是否超出了由于随机因素引起的差异范围。方差分析分为单因素方差分析和多因素方差分析,这一篇先介绍一下单因素方差分析...

可视化:前端数据可视化插件大盘点 图表/图谱/地图/关系图

前端数据可视化插件大盘点图表/图谱/地图/关系图全有在大数据时代,很多时候我们需要在网页中显示数据统计报表,从而能很直观地了解数据的走向,开发人员很多时候需要使用图表来表现一些数据。随着Web技术的...

matplotlib 必知的 15 个图(matplotlib各种图)

施工专题,我已完成20篇,施工系列几乎覆盖Python完整技术栈,目标只总结实践中最实用的东西,直击问题本质,快速帮助读者们入门和进阶:1我的施工计划2数字专题3字符串专题4列表专题5流程控制专题6编...

R ggplot2常用图表绘制指南(ggplot2绘制折线图)

ggplot2是R语言中强大的数据可视化包,基于“图形语法”(GrammarofGraphics),通过分层方式构建图表。以下是常用图表命令的详细指南,涵盖基本语法、常见图表类型及示例,适合...

Python数据可视化:从Pandas基础到Seaborn高级应用

数据可视化是数据分析中不可或缺的一环,它能帮助我们直观理解数据模式和趋势。本文将全面介绍Python中最常用的三种可视化方法。Pandas内置绘图功能Pandas基于Matplotlib提供了简洁的绘...

Python 数据可视化常用命令备忘录

本文提供了一个全面的Python数据可视化备忘单,适用于探索性数据分析(EDA)。该备忘单涵盖了单变量分析、双变量分析、多变量分析、时间序列分析、文本数据分析、可视化定制以及保存与显示等内容。所...

统计图的种类(统计图的种类及特点图片)

统计图是利用几何图形或具体事物的形象和地图等形式来表现社会经济现象数量特征和数量关系的图形。以下是几种常见的统计图类型及其适用场景:1.条形图(BarChart)条形图是用矩形条的高度或长度来表示...

实测,大模型谁更懂数据可视化?(数据可视化和可视化分析的主要模型)

大家好,我是Ai学习的老章看论文时,经常看到漂亮的图表,很多不知道是用什么工具绘制的,或者很想复刻类似图表。实测,大模型LaTeX公式识别,出乎预料前文,我用Kimi、Qwen-3-235B...

通过AI提示词让Deepseek快速生成各种类型的图表制作

在数据分析和可视化领域,图表是传达信息的重要工具。然而,传统图表制作往往需要专业的软件和一定的技术知识。本文将介绍如何通过AI提示词,利用Deepseek快速生成各种类型的图表,包括柱状图、折线图、饼...

数据可视化:解析箱线图(box plot)

箱线图/盒须图(boxplot)是数据分布的图形表示,由五个摘要组成:最小值、第一四分位数(25th百分位数)、中位数、第三四分位数(75th百分位数)和最大值。箱子代表四分位距(IQR)。IQR是...

[seaborn] seaborn学习笔记1-箱形图Boxplot

1箱形图Boxplot(代码下载)Boxplot可能是最常见的图形类型之一。它能够很好表示数据中的分布规律。箱型图方框的末尾显示了上下四分位数。极线显示最高和最低值,不包括异常值。seaborn中...