软件测试-测试类型分类

1.功能测试

对功能进行测试(比如对于一个网站,他可以查询注册了的公司,那么它的功能就是查询这种功能 对这种功能进行测试)
和黑盒测试不一样,功能测试是一个方向,而黑盒测试是一个方法,对于功能测试来说,采用最多的方法是黑盒测试,功能测试是吃饭,而黑盒是筷子,白盒是勺子这样。
针对的问题:功能错误或遗漏、界面问题、性能错误、数据及访问错误初始化及终止错误。

功能测试工具:
在这里插入图片描述

2.性能测试:

延伸为负载测试、压力测试、稳定性测试。
性能指标:
并发用户数VU、每秒事务数TPS、系统响应时间、设备性能。
性能测试工具有:
LoadRunner、Silkperformer、Jmeter、Webload、Apache Bench、LoadUI。
静态性能评估:
开发Web应用时,基于一系列Web应用页面性能优化的最佳实践对Web应用的页面进行静态分析,并给出评估结果的性能分析方法。常用的有YSlow、PageSpeed,可以在chrome中加入该两个插件(在chrome的扩展程序中可以搜索到进行安装),用插件对网页进行性能分析。
应用性能管理(APM):
提供对系统的实时监控以实现性能管理、故障管理的解决方案。
案例:听云(统计各种性能指标)

测试性能(比如买票软件太卡,说明性能不足,功能测试是能不能做,性能测试即能够做多好)
–包括:负载测试(指标变化),压力测试(性能点),强度测试,容量测试,基准测试,渗入测试,峰谷测试

1.压力测试(食堂能容纳多少个人来吃饭,找到xx人发现有空余,再加一点,找到食堂瓶颈点)
2.负载测试(食堂打菜的师傅在放学的时候会工作压力增大,通过负载测试来判断食堂师傅高强度工作能维持多长时间,举重能举xx斤多久) 一般采取峰值的百分之八十到百分之九十来进行
3.并发测试(同一瞬间发生的事,比如秒杀商品,出现两个人都抢到了同一件商品,并发测试就是为了防止出现这种情况)

3.安全测试

(黑客技术,防止黑客盗取信息和攻击)

  • 应用在客户端性能的测试:负载测试和压力测试
  • 应用在网络上性能的测试:
  • 应用在服务器端性能的测试:
  • Avg time to last byte per terstion (mstes):平均每秒业务脚本的迭代次数,有人会把这两者混淆;
  • Successful Rounds:成功的请求;
  • Failed Rounds :失败的请求;
  • Successful Hits :成功的点击次数;
  • Failed Hits :失败的点击次数;
  • Hits Per Second :每秒点击次数;
  • Successful Hits Per Second :每秒成功的点击次数;
  • Failed Hits Per Second :每秒失败的点击次数;
  • Attempted Connections :尝试链接数;
    –具体:通过量、响应时间、CPU负载、内存使用
    –工具:QALoad、LoadRunner、Benchmark Factory、Webstress
    –过程:测试需求与测试内容,测试案例制定,测试环境准备,测试脚本录制、编写与调试,脚本分配、回放配置性能测试图像,性能测试图像与加载策略,测试执行跟踪,结果分析与定位问题所在,测试报告与测试评估。

安全测试和渗透测试的区别:
安全测试:(防御):
对软件产品进行测试以确保其符合产品安全需求和质量标准。

渗透测试(攻击):
通过模拟对软件系统的恶意攻击行为来评估系统安全性的一种测试
和黑客攻击差不多,但是渗透测试得到了用户的授权)
OWASP网站(OWASP top10会公布业界最广的十大安全漏洞 Test Guide能够指引测试人员进行安全测试)

测试工具:
appscan(针对web应用)、webinspect、nessus(针对服务器主机类的)、nmap(端口嗅探)、metasploit(攻击,渗透测试)、webscarab(代理劫持)、fortify(白盒测试,针对源代码静态的分析)、w3af(针对web应用)

4.兼容性测试

比如客户不同手机为什么有的能打开软件,有的不能,为什么页面显示不全等问题。
◆兼容测试简称CTS,指对所设计程序与硬件、软件之间的兼容性的测试。
◆一般来说,兼容性指能同时容纳多个方面,在计算机术语上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。
(比如做网站,需要考虑浏览器,操作系统的兼容,如果做的是CS架构的,比如C++项目,不光考虑浏览器操作系统,还需要考虑硬件之间的配合,网络之间的配合)
◆对于我们测试来说,通俗一点的理解可以认为是被测软件在不同的硬件平台(PC||Mobile) ,不同的软件(浏览器),不同的操作系统平台、不同的网络环境中是否能够很友好运行的测试(某个app和微信不兼容,大概就是完蛋了)

兼容性测试–分类:
在这里插入图片描述
兼容性测试一作用
1.兼容性测试能够进一步提高产品的质量,提高用户体验
2.兼容性测试能使软件与尽可能多的其他软件"和平共处”,尽可能达到平台无关性
3.兼容性测试能尽可能的保证软件存在的价值,它是衡量一个软件
质量的重要指标
4.兼容性测试能使软件产品的市场更广阔

WEB兼容性

WEB兼容性测试方向
◆浏览器兼容性
◆操作系统兼容性

测试方法.
◆人工测试:测试工程师测试主流浏览器和常用操作系统测试主流程和主界面,看看主流程和主界面是否有问题
◆第三方测试工具:部分情况下,部分浏览器可以依赖第三方工具辅助测试

对于浏览器方面的兼容性测试思考:
一个一个测从而覆盖更多浏览器当然好,但是效率太低,思考一下为什么不同浏览器展现的页面不同,为什么有的按钮这个浏览器可以点,有的就不行呢。
因为内核的不同!(所以不要考虑尽可能多广全,从内核上去考虑)
在这里插入图片描述
1、IE浏览器内核:
Trident内核,也是俗称的IE内核;
2、Chrome浏览器内核:
统称为Chromium内核或Chrome内核,相对IE来说更复杂,经过了一个变迁,老的内核和苹果浏览器是一个内核是Webkit内核(苹果谷歌等其他公司联合开发的内核),现在是Blink内核(29版本之上chrome自己开发了内核);
3、Firefox浏览器内核:
Gecko内核,俗称Firefox内核; (一般测试都是用最新的版本去测试火狐)
其他浏览器:
360浏览器、猎豹浏览器内核:IE+Chrome双内核;
还有一种浏览器都是blink的拥簇者,包括腾讯,搜狗,UC等,都是基于blink的底层进行了修改,所以对于这些,我们对于chrome进行测试即可,就不用测试这么多了。

测试选型
◆Chrome: Webkit内核1 & Blink内核1
◆FireFox:最新版本
◆IE: 7-11
◆Safari : mac版本 单独测试
◆Edge : window10
◆360安全浏览器(双核版)
◆搜狗等其他浏览器任选其一
◆如有需要Linux系统下FireFox、ChromeOS 下chrome

关于兼容性测试的第三方工具:
三方工具–IETESTER
◆可以进行IE5 .5-1E11的兼容性测试,能够满足一定程度的测试需求
◆但随着IETESTER后期维护乏力,对浏览器的支持不足
◆同时目前对于IE兼容性来说,更多支持IE7+ ,我们可以使用IE浏览器
自带的调试I具来测试,故IETESTER逐步从重要变为鸡肋

三方工具–BrowserShots
◆www.browsershots.org通过在线截图的方式展现页面的兼容性. (有很多云服务器,会把你的网站通过云管理下放到很多机器上,然后从这些机器上进行在线截图,从而展示是否具有兼容性)
◆限制在于只可以通过输入网址的方式查看,对于还未上线,测试中的网站比较难于使用。(只能够通过网址来查看,对于还没上线的就没法在线截图测试了)

三方工具–Super Preview
◆SuperPreview 是微软将推出的Expression Web 3的一-部分,同时,微软也提供了SuperPreview 的独立安装包。
◆他的目标是集成IETESTER和BrowserShots的功能,但是目前还没有完善。

APP兼容性

APP兼容性测试方向
硬件设备兼容性
操作系统版本兼容性

测试方法
◆人工测试:测试工程师测试主流手机设备对主流程和主功能进行验证测试
◆第三方测试工具:三方主要以云平台为主
在这里插入图片描述在这里插入图片描述
补充说明 (考虑到有一些机子不太好买 )
◆使用TOP20的机型,指定系统版本
◆Android机一-律要求使用真机或者相应的云服务测试,iOS允许使用模拟器
◆如果上述的设备无法获取到的,允许选取同类(iOS/Android)机型作为替代,但最多不超过4个替代机型

5.易用性测试

从用户的角度看产品是否好用
易用性测试是指用户使用软件时是否感觉方便,比如是否最多点击鼠标三次就可以达到用户的目的(比如用户想要搜索商品,点击搜索框输入搜索内容,再点击搜索按钮,再点击搜索项中我想要的商品)
易用性和可用性存在一定的区别, 可用性是指是否可以使用,而易用性是指是否方便使用

易用性测试内容
◆易用性测试包括针对应用程序的测试,同时还包括对用户手册系统文档的测试。通常采用质量外部模型来评价易用性。(只测试封装在外的内容来进行评估)

包含如下测试:
1.易理解
2.易学习
3.易操作
4.吸引性
5.依从性(顺着客户的操作,指引客户向前,比如客户想买笔记本,是不是能指引客户在买上电脑同时购买更多商品)

易用性测试方法-导航测试
◆通过考虑下列问题,可以决定一个应用系统是否易于导航:
导航是否直观?系统的主要部分是否可通过主页存取?系统是否需要站点地图、搜索弓|擎或其他的导航帮助?

易用性测试方法-图形测试
◆在应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。
◆一个应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。

易用性测试方法-图形测试
1.要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。
2.应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。(比如这个图片是想让人登录,点击了就应该进入登录页面)
3.验证所有页面字体的风格是否一致
4.背景颜色应该与字体颜色和前景颜色相搭配
5.图片的大小和质量(如果因为图片太大导致网站加载太慢,比如超过5s客户就会开始烦躁),一般采用JPG或GIF压缩(但是压缩也不能失真)

易用性测试方法-文字测试
内容测试用来检验应用系统提供信息的正确性、准确性和相关性

易用性测试方法一整体界面测试
1.整体界面是指整个应用系统的页面结构设计,是给用户的一个整体感。
例如:当用户浏览应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个应用系统的设计风格是否一致?

测试点总结

控件类(页面上会有很多控件)
在这里插入图片描述在这里插入图片描述菜单测试:
在这里插入图片描述快捷键设置:
在这里插入图片描述

6.文档测试

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

文档测试关注要点:完整性、正确性、一致性、易理解性、易浏览性

7.可靠性测试

软件可靠性

硬件可靠性(老化、温度、湿度、包装)

8.本地化测试

针对软件的本地化版本实施的针对性测试(如英文版、中文版)。

主要测试内容:

1.语言、书写习惯(阿拉伯语习惯从右往左写)

2.时区、日期格式、货币

3.当地风俗(穆斯林地区尽量减少暴露女性图片)、法律法规(部分结果未予以显示)

4.政治敏感内容(比如国外软件对某国的归属)

9.部署测试(测试环境的基础)

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

主要测试内容:
1.在不同环境下的部署验证(网络中断,存储空间不足等)

2.参照部署文档执行,过程的合理、正确性

3.基础数据(可以来源于用户的线上数据,要搜集到主要用户的基本环境)

10.无障碍测试(AccessibilityTest)

可访问性测试,指软件需要提供便于特殊人群使用的功能,包括视障、听障、老年人、身体残疾用户等,无障碍测试则是针对这部分功能的测试。

其他测试类型

回归测试:
(与版本关联)软件功能修改后,对软件进行重新测试以确认修改没有引入新的错误或导致其他部分产生错误

回归测试的重心在于关键模块和重点功能组建

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

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

冒烟测试:
全流程的测试。来自于硬件板卡验证术语。软件上则用于确定代码中的更改会按预期运行,且不会破坏整个版本的稳定性。更多是针对关键模块的

“每日构建”(敏捷测试):中用冒烟测试来确认合入的代码没有影响主要功能的正常。

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

实施要点:

1.多个方案并行

2.每次测试仅改动一个变量

3.按照某种规则进行优胜劣汰

测试工具:

Google Analytics Content Experiments
(向用户提供了不同页面以后,通过嵌入分析脚本来分析)

Visual Website Optimizer
(除了数据采集分析,还有所见即所得的编辑器)

发布了82 篇原创文章 · 获赞 7 · 访问量 4189

猜你喜欢

转载自blog.csdn.net/sunshine612/article/details/105102572