51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2095|回复: 3

[讨论] Web测试原理与实践

[复制链接]
  • TA的每日心情
    擦汗
    2022-8-30 09:02
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    发表于 2018-6-13 15:16:39 | 显示全部楼层 |阅读模式
    web测试原理与实践分为四部分:

    一、软件测试阶段

    二、web测试基础

    三、web测试实践

    四、然之登录测试点分析

    以下是对这四部分内容的细化:



    一、软件测试阶段:

    1.单元测试

    2.集成测试----接口测试,所用工具:fiddler、jmeter、postman

    3.系统测试----web测试、客户端测试、app测试

    这三种测试(web、客户端、app)分别都含有三种测试:

    3.1 功能测试    3.2 安全测试    3.3 性能测试

    3.1 功能测试:

    1)手工测试功能(测试流程)

    2)自动化测试功能(GUI自动测试)工具:

    selenium、IBM rational、QTP、silktest、Appium(对app测试而言)

    3.2 安全测试  工具:fiddler工具(抓包,查看用户密码是否有加密、服务器端对输入数据是否有设置了断
    点进行二次校验)

    3.3 性能测试  工具:jmeter(多线程数服务器响应时间)、loadrunner



    二、web测试基础:

    1.网络基础知识    2.web系统基础    3.web工作原理    4.深入web核心技术    5.web环境分类

    1.网络基础知识

    1.1 internet----互联网(外网),连接不同网络(根据不同的TCP/IP或OSI协议)

    1.2 intranet----内部网(内网),企业内部防火墙以内的互联网

    2.web系统基础

    2.1 B/S 浏览器/服务器:属于特殊的C/S,必须用http协议,是一个通用的客户端

    扩展:ActiveX(安全控件)、Ajax(输入框下面的提示语)、RIA(富互联网应用)

    2.2 C/S 客户端/服务器:可以使用任何通信协议

    3.web工作原理(3.1 www、3.2 URL 、3.3 http协议、3.4工具)

    3.1 www

    3.2 URL:

    1)协议类型(http/https)

    2)主机名(IP/域名)

    3) 端口号(默认端口:http--80/https--443)

    4)页面文件:路径+文件名(显示/省略默认页面)

    5)参数

    3.3 http协议:1)http协议组成    2)http协议的应用、

    1)http协议组成:请求+响应

    a.请求(请求行+请求头+请求正文):

    • 请求行(get获取/post传递(请求方式)+url协议版本)

    • 请求头(cookie)

    • 请求正文:post请求方式有请求正文/get的请求方式一定没有请求正文

    b.响应(状态行+响应头+响应正文):

    • 状态行:协议版本+状态码

       状态码:

      1xx 指示消息,请求继续处理

      2xx 请求被成功接受

      3xx 重定向,要完成请求必须进行下一步操作(跳转页面)

      4xx 客户端错误(语法错误或请求无法实现):401 unauthorized  /  404 not found

      5xx 服务器错误,无法实现合法的请求

      状态消息:1xx,2xx,3xx,4xx,5xx

    • 响应头(session)

    • 响应正文

    2)http协议的应用:web安全、接口、web性能测试

    web安全:.

    • webform--查看密码是否加密

    • 设置断点--修改webform里的数据,检测服务器端代码有没有做2次校验

    3.4 工具:然之网页+fiddler

    fiddler:设置过滤(勾选use Filter)

    • 输入框输入网址

    • 查看包(选择其中一条记录,双击,选择inspectors--raw...)



    4.深入web核心技术::4.1 网页分类    4.2 网站技术

    4.1 网页分类:1)静态网页    2)动态网页

    1)静态网页:用html语言编写,内容固定,上传到web服务器,在浏览器前台显示。

    2)动态网页:

    a.在浏览器前台显示,后台管理(增-insert into、删-delete、查-select、改-update)

    b.关键内容在服务器端生成,能够访问服务器端的数据库,具有交互性,不利于搜索引擎信息收集

    c.脚本引擎:php、jsp、aspx

    ps:脚本引擎是计算机编程语言的解释器,是脚本运行所需的框架,提供可供脚本调用的二进制代码,解释
    执行用户的程序文本。

    d.网站技术:服务器端、客户端

    • 服务器端:web服务器、应用服务器、DB服务器

      web服务器--接收http请求,处理http请求,发送http响应给浏览器(可以直接发送html页面)

    应用服务器--处理代码和建立数据库链接:

    脚本引擎(php、jsp、aspx)

    -- php(php语言--apache、php应用服务器环境)

    -- jsp(java语言--tomcat)

    --aspx(c#语言--IIS网页服务组件,服务于网络发布信息)

    DB服务器:执行SQL语句,存储数据

    PS:测试环境常见架构:

    -- PHP开发语言--apache--mysql--linux

    --java开发语言--tomcatracle-linux+mysql

    --C#(C sharp,类似java)开发语言--IIS--sqlserver--windows server           

    • 客户端:

    浏览器---发送http请求并接收服务器发来的http响应

    浏览器渲染过程(使用fiddler抓包查看):自动发起网页包含链接的请求、自动缓存静态资源(清除浏览器)

    静态资源:HTML、CSS、JS(JavaScript-直译式脚本语言,其解释器为javascript引擎)、图片、文档、音频
    、视频、文档



    5. web环境分类:5.1 开发环境    5.2 测试环境    5.3生产环境

    5.1 开发环境:开发人员用,客户端和服务器是同一台机器。

    客户端:操作系统(winxp/win7/8/10,苹果操作系统)、浏览器(IE、火狐、谷歌、苹果)

    服务器:操作系统(winxp/win7/8/10,苹果操作系统) 、自己电脑

    5.2 测试环境:测试人员用,客户端和服务器不是同一台电脑,客户端多台

    客户端:操作系统(winxp/win7/8/10,苹果操作系统)、浏览器(IE、火狐、谷歌、苹果)

    服务器:操作系统(linux、windows server)

    安装网页工具:web服务器、应用服务器、DB服务器

    发布网页(对内):

    • 把网页放到指定文件夹--从代码库取代码到本机

    • 把代码通过xftp工具上传到服务器上/tmp

    • 修改权限,解压缩

    • 复制解压后的文件夹到发布网页指定的文件夹

    • 启动web服务器、DB服务器

    • 打开网址、安装网页

    5.3 生产环境:指正式提供对外服务的线上环境

    客户端:广大的用户

    服务器:操作系统(Linux、Windows server)

    安装网页工具(web服务器、应用服务器、DB服务器)

    发布网页(对外)-把网页放到指定文件夹

    服务器有多台,集群环境(负载均衡、故障转移)



    三、web测试实践

    1.web测试的要求    2.web测试的对象(测试点)

    1.web测试的要求:1.1 需求    1.2 用户

    1.1需求:

    1)功能:功能测试、易用性测试、兼容性测试

    2)安全

    3)性能

    2.web测试的对象(测试点)

    系统测试阶段:2.1 功能   2.2 性能    2.3安全

    2.1功能:1)功能测试    2)易用性测试    3)兼容性测试

    1)功能测试

    •web的业务逻辑:OA系统、理财系统、财务系统、电子商务系统、银行系统

    •web的数据行为:增加(数据流的顺序--不同模块/不同账户)、删除、查找、修改

    •web的页面元素(控件):

    --页面部分/UI测试:清单;不同的分辨率和不同的浏览器版本是否显示;不同大小的窗口显示是否正确、
    美观;特殊效果是否显示-如特殊字体效果、动画效果;页面都有相应的title

    --页面元素部分(通用测试点):

    ----链接

    ----表单(如图):




    ----列表:排序、分页、搜索

    ----日历控件(如图):






    ----特殊字符

    ----转义字符

    ----刷新

    ----浏览器前进后退

    ----上传下载(如图):




    ----导入导出(如图):




    ----快捷键:Tab、enter

    ----js错误





    •测试点的拆分:

    2)易用性测试

    3)兼容测试(如图):




    2.2 性能:1)原理    2)工具

    1)原理:http协议

    2)工具:

    •badboy(如图):




    •jmeter(如图):




    2.3 安全:1)原理    2)工具    3)策略

    1)原理:

    •http协议

    •cookie和session:作用域、有效期

    2)工具:fiddler

    3)策略:

    •认证:目的是为了认出用户是谁(如图)




    •授权/权限(如图):




    •文件上传(如图):




    •二次校验(如图):








    四、然之登录测试点分析:

    1.功能    2.安全测试    3.性能测试



    1.功能:1.1 功能测试    1.2 可用性测试    1.3 兼容测试

    1.1 功能测试:1)登录功能、2)页面其他元素

    1)登录功能:

    • 用户名:

    有效--用户名正确/前空格+正确用户名/正确用户+后空格

    无效--为空/不存在的用户名/大小写区分用户名/正确用户名,中间含空格/全角英文用户名

    边界值--使用最长用户名登录/注册模块用最长的用户名注册成功

    • 密码:

    有效--密码正确

    无效--为空/(前空格/后空格/中间空格)+正确密码/密码大小写区分/密码错误/全角正确密码

    边界值--使用最长密码登录/注册模块用最长的密码注册成功

    • 正交法:用户名、密码两种取值的组合测试

    • 单模块场景法:单用户登录退出再登录/多用户连续登录/多浏览器同时登录

    • 多模块场景法:注册用户再登录/禁用用户再登录/锁定用户再登录/删除用户再登录

    2)页面其他元素:

    • 语言切换下拉框

    • 登录按钮

    • 保存登录复选框

    • 版本链接

    1.2 可用性测试:

    • 页面元素风格

    • Tab键响应

    • Tab顺序

    • 回车键响应

    1.3 兼容测试:

    • 操作系统兼容

    •  浏览器兼容

    • 正交法组合:windows:ie/firefox/chrome/safari;苹果操作系统:safari/ie/firefox/chrome;andriod:浏览器;
    ios:浏览器。

    2. 安全测试:2.1 认证、2.2 授权、2.3 脚本攻击、2.4 SQL注入

    2.1 认证:

    1)密码密文显示

    2)密码文本框不支持复制

    3)敏感信息加密传输

    4)同一账号多次登录失败,检查账号是否锁定

    5)错误登录ip限制

    6)同一账号在同一类型设备上重复登录

    7)同一账号在不同类型设备上重复登录

    8)session测试:

    • 复制登录后的页面URL,在退出后直接打开

    • 登录成功后,经过一段时间,检查是否需要重新登录

    • session的过期时间设置是否合理

    9)cookie测试:

    • 有效时间内免登录

    • 无效时间内需输入用户名、密码登录

    • 用于保存一些关键数据的cookie是否被加密

    • 登录时应该使用图片验证码(防止黑客破解密码,是一种区分用户是计算机和人的公共自动程序)

    2.2 授权:不同权限的用户登录是否只能访问被授权的模块和功能

    2.3 脚本攻击(如用户甲在一些论坛或留言本发布含html或javascript的帖子,用户乙在浏览该帖时,恶意
    脚本就会执行,盗取取用户乙的session信息)

    2.4 SQL注入(输入内容,有单引号‘ 致用户名为空,可越过密码登录)



    回复

    使用道具 举报

  • TA的每日心情

    2018-6-13 16:42
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2018-6-13 15:29:07 | 显示全部楼层
    老哥,web测试的实例有吗,举个例子,或者更发个视频
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-5 13:44
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2018-7-16 11:54:54 | 显示全部楼层
    武汉小陈 发表于 2018-6-13 15:29
    老哥,web测试的实例有吗,举个例子,或者更发个视频

    请问你想要什么web测试视频?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-7-30 17:28
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2018-7-30 17:20:44 | 显示全部楼层
    密码文本框不支持复制--这个是针对公司而言吗?

    同一账号在同一类型设备上重复登录

    同一账号在不同类型设备上重复登录   -----这两个的正常结果是 另外自动下线?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 00:37 , Processed in 0.068586 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表