3. 软件测试的类型

1. 功能测试

1.1 概念

根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作性为以确定它满足设计需求。

1.2 测试范围

功能错误或遗漏、界面问题、性能错误(软件本身的处理性能,比如大数据量加载)、数据及访问错误、初始化及终止错误。

1.3 测试工具

        商用自动化测试工具:

QTP:quick test professional,前身为winrunner,多用于回归测试或者同一软件的新版本;

silkTest、Rational robot

        开源自动化测试工具:

selenium:针对web应用的敏捷测试,直接在浏览器运行,只直接测试软件在不同浏览器中的兼容性问题;

Watir、Sikuli

2. 性能测试

2.1 概念

验证软件系统的性能可以满足需求的指标要求。往往可以延伸至负载测试、压力测试、稳定性测试

2.2 测试范围

负载测试:测试过程中逐步增大负载,并记录测试系统相应的性能表现,最终确定该系统在正常指标范围内的最大负载;

压力测试:测试系统在极限情况下的压力情况,即系统在什么样的压力下才会失效,承受的最大极限;

稳定性测试:以稍大于正常业务量的负载,对系统进行长时间的测试,以确定系统在较长运行时间下的稳定性情况。

静态性能评估:开发web应用时,基于一系列的web应用页面性能优化的最佳实践对web应用的页面进行静态分析,并给出评估结果的性能分析方法。

2.3 测试指标

并发用户数、每秒事务数、系统响应时间、设备性能(服务器及资源性能)

2.4 测试工具

LoadRunner、

Silkperformer、

Jmeter、WebLoad、

Apache Bench、

LoadUI(主要针对http接口测试,例如webservers等)、

YSlow、PageSpeed(主要用户静态性能评估)、

3. 部署测试

3.1 概念

也称安装测试,主要验证系统部署过程,并确保软件经过安装测试后可正常使用。

3.2 部署测试主要测试内容

在不同环境下的部署验证;

参照部署文档执行,确定部署过程的合理性和正确性;

基础数据:是部署测试的重要内容,可通过用户线上数据和数据生成脚本来获取。保证系统运行后,主要用户使用场景相关的数据是具备的,并且保证相关测试的验。

4. 文档测试

4.1 概念

针对软件产品的交付品,配套的文档类部件的测试。如用户手册、使用说明、用户帮助文档等。

4.2 文档测试要点

完整性、正确性、一致性、易理解性、易浏览性。

5. 安全测试

对软件产品进行测试以确保其符合产品安全需求和质量标准。

5.1 渗透测试

通过模拟对软件系统的恶意攻击行为来评估系统安全性性的一种测试。

是一种去的用户授权的攻击行为,测试完成后需要销毁测试痕迹。

5.2 渗透测试 VS 安全测试

渗透测试:偏重于攻击,通过攻击行为来寻找系统漏洞;只需要选择薄弱的环节或者点进行攻破即可;

安全测试:偏重于验证系统的防御功能;需要在整个系统的防御面上进行测试,由于安全测试的考虑因素更多,因此相比于渗透测试更加难以开展;

5.3 安全测试权威网站OWASP

open web application software project.目前web端测试中最著名的安全测试项目,官网:www.owasp.org

做安全测试时可重点关注:

Top 10:每隔几年发布行业中最具威胁的安全漏洞并对其进行详细说明分析;

Testing guide;

5.4 安全测试工具

Appscan:一款针对于web应用的漏洞扫描工具;

Webinspect:惠普公司的漏洞扫描工具,和Appscan功能类似;

Nessus:针对服务器主机类的漏洞检查工具(这个有免费版,其他的都收费~);

Nmap:通过扫描主机来检查端口的开放情况,以进行攻击;

MetaSploit:著名的攻击框架,包含大量插件,可对目标系统进行检测和渗透测试;

WebScarab:由OWASP提供的一款开源工具;

Fortify:白盒测试工具,针对开发源代码的静态分析,以查找安全问题;

W3AF:针对web端的开源安全分析工具;

6.  兼容性测试

6.1 兼容性种类

         软件本身的兼容性:向后兼容;新开发的软件版本需要对历史版本的功能及配置兼容,不能因为版本升级导致历史数据不可用;

         不同平台下的兼容:开发的软件可运行在多个平台下;

         软件对运行设备的兼容性:运行在不同类型的设备上时,需要对软件的表现进行测试;

         软件互操作性:同一个厂商的不同软件,在同一台设备上运行时功能之间的交互是否正确;

6.2 浏览器兼容性

是对上述6.1章节的扩展,浏览器兼容性仅针对于web端的应用。


内核名称


Trident


Gecko


WebKit


presto


浏览器


IE6-10


FireFox


Safari、Chrome


opera

6.3 浏览器兼容性测试工具

BrowserShots:基于真实浏览器进行截图比对的工具;

Browser Sandbox:通过不同插件来实现浏览器模拟测试;

google浏览器兼容测试插件:http://www.w3help.org/  主要在页面代码层面进行判断;

7. 易用性测试

7.1 概念

测试用户使用软件时是否感觉方便,能否保证用户使用体验的测试类型。

更多针对UI层面的测试:点击时的功能反馈、页面风格一致性、是否存在误导用户的指引、网站布局样式等。

8. 本地化测试

8.1 概念

针对软件的本地化版本实施的针对性测试。

8.2 本地化测试内容

语言、书写习惯;

时区、日期格式、货币单位;

当地风俗及法律法规;

政治敏感内容;

9. 无障碍测试

9.1 软件可靠性测试

Accessibility Test. 也称可访问性测试。是指软件需要提供便于特殊人群使用的功能,包括视障、听障、老年人、身体残疾用户等。

10. 可靠性测试

10.1 软件可靠性测试

指软件在规定时间、规定环境条件下完成规定功能的能力。

10.2 硬件可靠性测试   

可靠性测试更多是指硬件的可靠性测试。硬件产品再设计应用过程中,受气候环境及机械环境的影响,能否正常工作。

典型测试内容包含:器械老化、温度、湿度、气体腐蚀性、高压地区、防尘防水、包装压力等。

11. 其他测试类型

11.1 回归测试

软件功能修改后,对软件进行重新测试以确认修改没有引入新的错误或者导致其他部分产生错误。

回归测试的重点在关键模块和重点功能的组件。

软件研发周期中会进行多次回归测试,且尽量实现自动化。

11.2 冒烟测试

来自于硬件板卡验证术语。软件上则用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。

和回归测试在某种程度上类似,冒烟测试侧重于系统全流程的业务,回归测试则可通过模块划分来测试具体功能。

11.3 Monkey测试

也称搞怪测试。用一些随机、稀奇古怪的方式来操作系统,以测试系统的健壮性和稳定性。

主要应用于安卓系统的稳定性测试。

11.4 A/B测试

11.4.1 A/B测试概念

A/B测试多用于互联网行业,通过为页面提供2个版本给用户使用并记录相关的用户行为数据,来确定更优化设计的一种测试方案。

举个栗子:在UI界面设计时,难以确认图片应放置在页面的哪个区域,或者无法确认某个按钮的颜色为蓝色或者红色更合适,此时将几个版本同时提供给用户。

能用最真实的结果为网站的改动提供依据。

11.4.2 A/B测试要点

  1. 多个方案并行;
  2. 每次测试仅改动一个变量;
  3. 按照某种规则进行优胜劣汰;

11.4.3 A/B测试工具

免费工具:Google Analytics Content Experiments

商用工具:Visual Website Optimizer

时间: 2024-10-03 17:38:02

3. 软件测试的类型的相关文章

软件测试的类型和方法

软件测试的类型和方法

软件测试、ios中的测试概念以及步骤

软件测试: 软件测试的目标是应该服务于软件项目的目标,可以通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同时还可以通过过一些手段,更早.更快.更多地发现缺陷,从容降低了这些缺陷带来的风险. 软件测试是为了消除更加多的bug,虽然没有能够消除彻底. 但是软件的质量不是通过软件测试,而是软件开发工程师决定的. 软件测试的好处: 1.测试可以对软件预防,然后反应给软件开发工程师,所以及时快速的找到错误. 2.对软件缺陷的检测. 软件测试的类型: 单元测试(Unit Tests

软件测试的基础知识

1.软件测试的含义是什么? 通过人工或者自动手段运行或者测试某个系统的过程. 2.软件测试的目的是什么? 为了发现软件缺陷. 3.软件缺陷的定义是什么? (1)产品说明书的功能没有实现,或者完全实现: (2)功能超出产品说明书的范围: (3)软件出现了产品说明书不该存在的错误: (4)有些功能不用产品说明书写出来也应该有的功能未被实现: (5)软件设计难以理解.不容易使用.运行缓慢等用户体验不好的情况. 4.黑盒测试的定义是什么? 黑盒测试,不研究软件内部的逻辑结构和内部特性,根据程序的需求规格

【软件测试基础】其它测试分类

本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1.软件测试的分类 对于软件测试的类型进行了概括性的测试,另外还有一些测试的概念,不太容易进行测试的分类. 2. 回归测试 因为回归测试是和版本关联的,在迭代相对频繁的项目中,大规模的回归测试不太现实,所以回归测试一般都是关注在关键模块和重点功能的组件上.通过回归测试,保证主要功能点和流程不会因为版本更新产生错误.而正因为回归测试验证的功能点和流程是相对稳定的,而且在项目周期当中,回归测试执行的频率,相对来说,也比较高.所以回归测试是最适

软件测试随手记(转)

最近在准备网易测试工程师的实习笔试,边学边记了一些常考的知识点,放在这里以便复习之用. V模型 瀑布模型 驱动函数(一般为Main函数) 桩函数 黑盒测试: 等价类划分(逐个覆盖). 边界值分析(有序的三个点:边界值及边界值前后的两个点). 状态转换测试法(起始状态.输入.输出.结束状态) n-switch覆盖 状态表(找到隐藏的状态转换) 因果图法(逻辑图) 语法测试 白盒测试: 语句测试 分支/判定测试 控制流图 条件测试(每一个布尔操作数的真值价值都被测试用例覆盖至少一次) 数据流测试(定

【读书笔记】软件测试与iOS测试

一,软件测试的类型. 1.软件测试按照测试类型,可以划分为:单元测试,集成测试和系统测试. 2.单元测试是指对软件系统中最小可测试单元进行的检查和验证. 3.集成测试,在iOS软件开发中,集成测试主要被简单地分为API接口和iOS功能集成测试.API接口测试是指,若一个iOS程序以网络请求的方式使用了后台服务的功能,测试时需要验证网络的请求以及响应是否符合预期.iOS功能集成测试其实就是功能测试.在一个iOS程序中,有很多功能是在UI界面上体现的,所以在功能测试中测试的重点将会在UI测试上. 4

什么是软件测试?简介,基础知识和重要性

什么是软件测试? 软件测试是检查实际结果是否与预期结果匹配并确保软件系统无系统的活动.它涉及执行软件组件或系统组件以评估一个或多个感兴趣的属性. 软件测试还有助于识别与实际要求相反的错误,缺口或缺少需求,它可以手动完成,也可以使用自动化工具完成.有些人更喜欢将软件测试称为白盒和黑盒测试. 为什么软件测试上很重要? 测试很重要,因为软件错误可能很昂贵甚至很危险.软件漏洞可能会导致货币和人员损失,历史上充满了这样的例子. 2015年4月,由于软件故障导致金融市场上超过30万交易商受到影响,伦敦彭博终

软件测试面试题汇总

软件测试面试题汇总 测试技术面试题    4 1.什么是兼容性测试?兼容性测试侧重哪些方面?    4 2.我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?   5 3.测试的策略有哪些?    5 4.正交表测试用例设计方法的特点是什么?   5 5.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?    5 6.描述测试用例设计的完整过程?   5 8.单元测试的策略有哪些?    5 什么是并发?在lordrunne

【软件测试工程师】关于软件测试术语的定义,软件测试中的分类

01. 为什么要在一个团队中开展软件测试工作? 因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作.在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况. 02. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试.最擅长的是功能测试 03.