‘壹’ 【web测试】功能测试测哪些内容
1)测试所有链接是否正确;
2)测试所链接的页面是否存在;
3)保证Web应用系统上没有孤立的页面,只有知道正确的URL地址才能访问。
1)平台测试
在Web系统发布之前,需要在Windows、Unix、Linux等操作系统下对Web系统进行兼容性测试。
2、浏览器测试
‘贰’ web压力测试 要测试哪些方面
web压力测试通过产生真实压力来发现问题需要关注以下方面:
1、对要测试的系统进行分析,明确需要对哪一块做压力测试。比如:淘宝网站双十一期间,秒杀跟支付,此模式用户操作中占比比较大
再比如:游戏,登录--开始战斗--结束战斗这种混合模式在用户操作中占比较大
那么就可以针对这种占比比较大的模式进行压力测试
2、明确了要测试的点后,如何对这些测试点进行施压呢?
第一种方式可以通过写脚本产生压力机器人对服务器进行发包收包操作;
第二种方式就是借助一些压力测试工具如:JMeter或LoadRunner
3、如何对这些测试点进行正确的施压呢?
那么就需要用压力测试工具或者其它方法来录制脚本,模拟用户的操作
4、对测试点该施加多大的压力比较合适?该施加多少的数据才能找出系统的瓶颈?
那么就需要明确压力测试所限制的数量,即用户并发量,这里分3种情况来明确:
1)根据上级的明确规定数量,来设定最确大值,然后根据情况往上或往下增减
2)上级未规定,由自己判断,从1开始慢慢递增。如:1,5,10,20等等
3)若做过压力测试,则可以根据上次的压力测试结果为基数进行测试
5、测试完之后,如何通过这些数据来定位性能问题呢?
虽然通过这些测试结果我们可以得到TPS(吞吐量),平均响应时间等这些数据,可判断出服务器是否存在问题,但却不能定位问题。
‘叁’ 测试人员要进行web测试,需要了解哪些web知识呢
目前软件测试涉及的行业领域有很多,比如可以做最简单的软件功能测试,还可以做web测试等,而互联网时代,大量的线上业务出现,比如电子商务,线上办公,直播平台,外卖服务, 线上打车等等有很多的网站需要去测试,对于测试人员我们需要知道任何网站使用的技术可能各不相同,但是最基本的组成还是包括以下部分:
①任何web网站都是由HTML, CSS和JavaScript三部分组成的。
②HTMLl是一种超文本标记语言,用来编写网页的, 是构建web网站最基本的结构,类似于盖房子时房子的框架, 因此html决定了web网站中网页的结构。
③CSS是一种样式表, 用来在web结构的基础上,修饰美化网页的,让网页显示颜色,优美的字体, 让网页显示的更加的漂亮, 类似于给毛坯房装修的功能, 因此CSS决定了web网站优美的外观。
④JavaScript是一中web的语言,用来给web网站添加各种功能的, 比如电商网站中图片的轮播,跳转,弹出新窗口, 实现抢红包和抢券等效果, 因此JavaScript决定了web网站的动态行为。
学习软件测试,从事web相关的软件测试工作,前端的基本组成部分是需要了解的,哥们在黑马程序员学习了软件测试, 现在月薪12K。
‘肆’ Web系统测试中,测试的侧重点在哪些方面的测试,请简要说明原因。
msn:[email protected] 必有重谢!
‘伍’ Web测试必备技能——F12
当我们想要测试一些页面上显示的内容时,可以借助chrome的控制台F12来进行测试
1、想要测试看看界面一些字段样式的显示
比如说下图,我们要测试账户超长显示的场景:
定位到要修改的地方,进行修改,界面就会显示出你所修改的样式
2、想要测试模拟弱网情况
点击Networt下的 Online
Fast 3G:模拟快速的3G
Slow 3G: 模拟慢速的3G
offline:离线的
自定义网速:
你是不是想说 要是没有我想要的怎么办,没关系的你想到的,我也想到了,当然谷歌也想到了 这个时候我们就需要点击Add...进行添加
再次刷新网页
就会出现提示未连接到互联网,这样就成功了,因为我们这里是设置为0所以模拟是断网的操作
‘陆’ web安全测试主要测试哪些内容
一个完整的Web安全体系测试可以从部署与基础结构,输入验证,身份验证,授权,配置管理配置管理配置管理配置管理,敏感数据,会话管理,加密,参数操作,异常管理,审核和日志记录等几个方面入手
‘柒’ web自动化测试之web自动化中操作要点
1、切换iframe:
driver.switch_to.frame(' xxx')
2、浏览器向右移动页面(浏览器中执行JavaScript代码)
driver.execute_script('window.scrollBy(200,0)') # window.scrollBy(x,y)
3、driver.implicitly_wait()和time.sleep()的区别
driver.implicitly_wait(10) #设置寻找元素最大等待时间;
implicitly_wait(5)属于隐式等待,5秒钟内只要找到了元素就开始执行,5秒钟后未找到,就超时;
time.sleep(5)表示必须等待5秒定位。
4、切换到新的目标窗口
#切换webdriver到新的目标窗口
for handle in driver.window_handles:
driver.switch_to.window(handle)
#判断是否进行了目标窗口
title=driver.title
if 'xxxxx' in title:
break
5、当页面广告遮挡了元素,可将页面广告元素删除
element=driver.find_element_by_css_selector('#meiqia-container iframe[name=chat]') driver.execute_script('$(arguments[0]).remove()',element) #将element传给了arguments[0] time.sleep(2)
6、切换浏览器标签页
使用switch_to_window(window),搭配句柄window_handles、current_window_handle使用。
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www..com")
driver.implicitly_wait(10)
driver.find_element_by_id("kw").send_keys("python")
driver.find_element_by_id("su").click()
driver.find_element_by_xpath("//*[@id='2']/h3/a").click()
#获取当前窗口所有句柄
all_windows = driver.window_handles
#获取当前标签页窗口句柄
current_window = driver.current_window_handle
#切换标签页窗口
for window in all_windows:
if window !=current_window:
print("切换前的窗口名称是:",driver.title)
driver.switch_to_window(window)
time.sleep(2)
print("切换后的窗口名称是:",driver.title)
break
7、切换iframe页面
使用switch_to_frame()、switch_to_default_content(),一般成套使用更好,以防止未切回导致定位失败。
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://ke.qq.com/")
driver.implicitly_wait(10)
#点击登录
driver.find_element_by_class_name("btn-default").click()
time.sleep(0.5)
driver.find_element_by_xpath("//*[@class='js-btns-enter btns-enter btns-enter-qq']").click() time.sleep(2)
#点击账号密码登录
#这里直接定位会失败,需要切换到登录弹窗页面后再进行定位,习惯使用的是2种切换方式
#1.iframe有唯一名称
driver.switch_to_frame("login_frame_qq")
driver.find_element_by_id("switcher_plogin").click()
driver.find_element_by_id("u").send_keys("123456789")
#回切到主页面
driver.switch_to_default_content()
time.sleep(2)
#2.iframe无名字,使用下标进行切换,且下标从0开始
#在页面中查到到当前需要定位的iframe在第3个,所以下标是2
#再次切换到弹窗页面 driver.switch_to_frame(2)
driver.find_element_by_id("p").send_keys("123456789")
driver.find_element_by_id("login_button").click()
driver.switch_to_default_content()
time.sleep(5)
driver.quit()
8、处理弹窗
使用switch_to_alert()中的accept()、dismiss()、send_keys、text进行操作,弹窗一般有三种类型,①.只有确认按钮的;②.有确认/取消按钮的;③.需要输入文字的。
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www..com")
driver.implicitly_wait(10)
#创建一个测试弹窗
driver.execute_script("window.alert('这是一个测试弹窗')")
time.sleep(2)
#1.弹窗中只有确认按钮的
driver.switch_to_alert().accept()
time.sleep(1)
#2.弹窗中有确认/取消按钮的
driver.execute_script("window.alert('这是一个测试弹窗')")
time.sleep(3)
#点击取消
driver.switch_to_alert().dismiss()
time.sleep(1)
#弹窗中需要输入文字的
# driver.switch_to_alert().send_keys("测试测试测试")
#获取弹窗中的内容
driver.execute_script("window.alert('这是一个测试弹窗')")
res = driver.switch_to_alert().text
print(res)
‘捌’ Web页面功能测试主要考虑哪些方面
web页面也就是表示层的测试。
表示层:可视化界面。其测试目的发现应用程序的gui或前端的错误。主要测试内容:内容测试(包括字体,色彩,整体审美,内容准确性和默认值等),web站点测试(无效的链接和图片),用户环境(web浏览器版本及操作系统配置等)
‘玖’ Web测试的主要内容和测试方法有哪些
测试分类:
1、界面测试
1)给用户的整体感:舒适感;凭感觉能找到想要找的信息;设计风格是否一致
2)各控件的功能
2、功能测试
1)删除/增加某一项:是否对其他项造成影响,这些影响是否都正确
2)列表默认值检查
3)检查按钮功能是否正确:新建、编辑、删除、关闭、返回、保存、导入、上一页、下一页、页面跳转、重置(常见错误)
4)字符串长度检查:超出长度
5)字符类型检查
6)标点符号检查:空格、各种引号、Enter键
7)特殊字符:常见%、“、”
8)中文字符:是否乱码
9)检查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息与添加信息是否一致
10)信息重复:需唯一信息处,比如重复的名字或ID、重名是否区分大小写、加空格
11)检查删除功能:不选择任何信息,按Delete,看如何处理;选择一个或多个进行删除;多页选、翻页选删除;删除是否有提示
12)检查添加和修改是否一致:添加必填项,修改也该必填;添加为什么类型,修改也该什么类型
13)检查修改重名:修改时把不能重名的项改为已存在的内容
14)重复提交表单:一条已经成功提交的记录,返回后再提交
15)检查多次使用返回键:返回到原来页面,重复多次
16)搜索检查:存在或不存在内容,看搜索结果是否正确;多个搜索条件,同时输入合理和不合理条件;特殊字符
17)输入信息的位置
18)上传下载文件检查:功能是否实现,
上传:上传文件是否能打开、格式要求、系统是否有解释信息、将不能上传的文件格式修改后缀为可上传的文件格式;
下载:下载是否能打开、保存、格式要求
19)必填项检查:必填项未填写;是否有提示,如加*;对必填项提示返回后,焦点是否自动定位到必填项
20)快捷键检查:是否支持快捷键Ctrl+C、Ctrl+V、backspace;对不允许做输入的字段(如:下拉选项),对快捷方式是否也做了限制
21)Enter键检查:输入结束后按Enter键,系统如何处理
22)刷新键检查:按浏览器刷新键如何处理
23)回退键检查:按浏览器回退键如何处理
24)空格检查:输入项输入一个或多个空格
25)输入法半角全角检查:比如,浮点型,输入全角小数点“。”或“. ”,如4. 5;全角空格
26)密码检查:输入加密方式的极限字符;密码尽可能长
27)用户检查:不同种类管理员用户的不同权限,是否可以互相删除、管理、编辑;一般用户的权限;注销功能,老用户注销再注册,是否为新用户
28)系统数据检查:数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。
29)系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可以迅速恢复
30)确认提示检查:系统更新、删除操作:是否有提示、取消操作;提示是否准确;事前、事后提示
31)数据注入检查:对数据库注入,特殊字符,对SQL语句进行破坏
32)时间日期检查:时间、日期、时间验证:日期范围是否符合实际业务;对于不符合实际业务的日期是否有限制
33)多浏览器验证
3、性能测试
1)压力测试:实际破坏一个Web应用系统,测试系统的反应,测试系统的限制和故障恢复能力
2)负载测试:在某一负载级别上的性能,包括某个时刻同时访问Web的用户数量、在线数据处理的数量
3)强度测试:测试对象在性能行为异常或极端条件下(如资源减少或用户过多)的可接受性,以此验证系统软硬件水平
4)数据库容量测试:通过存储过程往数据库表中插入一定数量的数据,看是否能及时显示
5)预期指标的性能测试:在需求分析和设计阶段会提出一些性能指标,对于预先确定的性能要求要首先进行测试
6)独立业务性能测试:对核心业务模块做用户并发测试,包括同一时刻进行完全一样的操作、同一时刻使用完全一样的功能
7)组合业务性能测试:模拟多用户的不同操作,最接近实际用户使用情况,按用户实际的实际使用人数比例来模拟各个模块的组合并发情况
8)疲劳强度性能测试:系统稳定运行情况下,以一定负载压力来长时间运行系统的测试
9)网络性能测试:准确展示带宽、延迟、负载、端口的变化是如何影响用户的相应时间的
10)大数据量性能测试:实时大数据量,模拟用户工作时的实时大数据量;极限状态下的测试,系统使用一段时间,积累一段数据量时能否正常运行,以及对前面两种进行结合
11)服务器性能测试:在进行用户并发性能测试、疲劳强度、大数据量性能测试时,完成对服务器性能的监控,并进行评估
12)一些特殊的测试:配置测试、内存泄漏的一些特殊测试
4、可用性测试(接口测试)
1)整体界面测试
2)多媒体测试
3)导航测试
5、客户端兼容性
平台测试:windows;unix;macintosh;linux
浏览器测试:不同厂商的浏览器对Java、Javascript、ActiveX、plug-ins或不同的HTML的规格
不同的支持;框架和层次结构在不同浏览器也不同的显示
6、安全性
安全性测试要求:
1)能够对密码试探工具进行防范
2)能够防范对Cookie攻击的常用手段
3)敏感数据保证不用明文传输
4)能防范通过文件名猜测和查看html文件内容获取重要信息
5)能保证在网站收到工具后在给定时间内恢复,重要数据丢失不超过1小时
web的性能测试工具:
随着Web2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况。
因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断。
为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括ASP、PHP、JSP等)的响应时间,为服务器的性能优化和调整提供数据依据。
1、企业级自动化测试工具WinRunner
MercuryInteractive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。
2、工业标准级负载测试工具Loadrunner
LoadRunner是一种预测系统行为和性能的负载测试工具
3、全球测试管理系统testdirector
TestDirector是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。
4、功能测试工具RationalRobot
IBMRationalRobot是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。
它集成在测试人员的桌面IBMRationalTestManager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。
这种测试和管理的双重功能是自动化测试的理想开始。
5、单元测试工具xUnit系列
目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。
该测试框架的第一个和最杰出的应用就是由ErichGamma(《设计模式》的作者)和KentBeck(XP(ExtremeProgramming)的创始人)提供的开放源代码的JUnit.
6、功能测试工具SilkTest
BorlandSilkTest2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。
这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。
7、性能测试工具WAS
是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。
透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。
8、自动化白盒测试工具Jtest
Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。
parasoft同时出品的还有C++test,是一款C/C++白盒测试工具。
9、功能和性能测试的工具JMeter
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。
10、性能测试和分析工具WEBLOAD
webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。
(9)web测试的要点扩展阅读:
漏洞测试
企业网站做的越来越复杂、功能越来越强。不过这些都不是凭空而来的,是通过代码堆积起来的。如果这个代码只供企业内部使用,那么不会带来多大的安全隐患。
但是如果放在互联网上使用的话,则这些为实现特定功能的代码就有可能成为攻击者的目标。
天眼举一个简单的例子。在网页中可以嵌入SQL代码。而攻击者就可以利用这些SQL代码来发动攻击,来获取管理员的密码等等破坏性的动作。
有时候访问某些网站还需要有某些特定的控件。用户在安装这些控件时,其实就有可能在安装一个木马(这可能访问者与被访问者都没有意识到)。
为此在为网站某个特定功能编写代码时,就要主动出击。从编码的设计到编写、到测试,都需要认识到是否存在着安全的漏洞。
天眼在日常过程中,在这方面对于员工提出了很高的要求。各个员工必须对自己所开发的功能负责。
已知的病毒、木马不能够在所开发的插件中有机可乘。通过这层层把关,就可以提高代码编写的安全性。
‘拾’ Web测试的主要内容和测试方法有哪些
1功能测试 2 1.1链接测试 2 1.2表单测试 2 1.3数据校验 3 1.4 cookies测试 3
1功能测试 2
1.1链接测试 2
1.2表单测试 2
1.3数据校验 3
1.4 cookies测试 3
1.5数据库测试 3
1.6应用程序特定的功能需求 4
1.7设计语言测试 4
2性能测试 4
2.1连接速度测试 4
2.2负载测试 4
2.3压力测试 5
3用户界面测试 6
3.1导航测试 6
3.2图形测试 6
3.3内容测试 7
3.4表格测试 7
3.5整体界面测试 7
4兼容性测试 8
4.1平台测试 8
4.2浏览器测试 8
4.3分辨率测试 8
4.4 Modem/连接速率 9
4.5打印机 9
4.6组合测试 9
5安全测试 9
5.1目录设置 9
5.2登录 10
5.3日志文件 10
5.4脚本语言 10
6接口测试 10
6.1服务器接口 10
6.2外部接口 11
6.3错误处理 11
7结论 11
在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术