Web自动化框架搭建——前言
1.web测试功能特性
a.功能逻辑测试(功能测试),这一块所有系统都是一致的,比如数据的添加、删除、修改;功能测试案例设计感兴趣和有时间的话可以另外专题探讨;
b.浏览器兼容性测试,更重要的是体验这块,想提供建设性建议,是建立在业务场景、用户使用的深刻理解基础上,然后对产品目规划理解是否合理,提出自己的看法与想法;体验这块,一定要有一个比较全局的概念,换个意思说,就是应该站在产品经理的角度去看系统,看系统的各个子功能、各个子功能协调是否合理、是否还有更优建议、而不仅仅只局限一个界面、一个菜单、一个下拉列表、一个按钮样式与颜色;
c.页面链接测试,有效性链接测试和可跳转链接测试(可跳转链接测试,一般涉及到接口测试);
d.接口测试,接口测试有效性、业务一致性、接口兼容性等;
e.bi数据统计与数据指标准确性验证,涉及到bi验证;有两种方案,一种是跟着数据流(流向测试),这种特别适合大数据分析与统计,比如用到hadoop、storm等开源框架后台;另外一种是不管数据流与数据处理过程,只统计端到端的数据,具体就是测试自己写统计sql或shell与界面展示对比,这种适合轻量级数据统计,比如一般后台数据统计、结算等等;
f.安全测试,安全对于web来说,是一道绕不过去的坎;首先,看web用到的那些:传输协议(http、https)、操作系统(linux等)、中间件(容器、数据库等)、应用层(业务模块)、浏览器;每一个环节都可能出问题,导致数据信息泄露什么的;web安全也是炙手可热的,https://www.owasp.org/ (owasp)还公布了每年度web安全问题top10,有兴趣可以关注与查阅;这里不详细说安全测试的具体测试方法与步骤,测试的话,就详细说说那些地方很容易出现问题,特别需要留意和关注的。(cookie的使用、token生成规则、登录的提交方式、上传文件后台验证、文件下载控制、界面输入文本框的xss跨站屏蔽与过滤、界面输入文本框sql的过滤、linux后台对上传目录权限设置、前端或后端主流框架struts2、jquery版本问题、敏感信息传输协议选择、数据库密码算法与机制等等)
ps:这一块,渗透团队有多,水很深;感兴趣的童鞋可以一起探讨与交流。楼主还只是个门外汉~~
g.性能测试,这里就不详细阐述,最能体现测试人员技术水平的专题。
2.框架设计
这里,主要探讨的是web做自动化这块,主要要解决哪些问题,要达到什么样的目标;前面列的a、b、c、e都需要满足、都能解决的框架才可能算的上好框架。
这套框架目标清楚了,框架的思想目前有两种,一种是基于数据驱动思想、一种是基于关键字驱动的思想;这里我选择了数据驱动。
3.框架是什么样的
web自动化主要实现的功能自动化,和浏览器兼容;所以把这里抽象出来的话,大概可以分下面几个层:
浏览器->页面对象->页面功能(链接、表单查询)->页面功能验证
再结合自动化运行环境与监控维护,在详细可以分下面几个层:
浏览器->页面对象->页面功能(链接、表单查询)->页面功能验证->测试结果输出->测试报告->自动化创建缺陷->自动验证
4.框架怎么做
环境&语言:selenium2.0+python2.7
a.环境搭建
b.实现基于数据驱动的case
c.详细的话,到时候一个层面一篇帖子详细说明~~
5.后续
做自动化的很多,能用起来的不多;做接口工具的很多,能通用的不多。
今年,就两个目标,完成这套自动化框架并上线实用,外加开展一次系统完全性测试专题或完成一个接口测试工具。
备注:因为都是现码的,可能思路不太条理与清晰;说的,都是自己的认识或看法,也会存在狭隘或不详细的地方,说的不对的地方欢迎指正~~也欢迎同学关注~~
Web自动化框架搭建——前言的更多相关文章
- Web自动化框架搭建之二基于数据驱动应用简单实例~~
整体框架,先划分成细小功能模块~~,从最简单的开始,介绍 实现循环百度搜索实例: #coding=utf-8 '''Created on 2014��6��9�� @author: 小鱼'''impo ...
- Web自动化框架LazyUI使用手册(2)--先跑起来再说(第一个测试用例-百度搜索)
作者:cryanimal QQ:164166060 上篇文章中,简要介绍了LazyUI框架,本文便来演示,如何从无到有快速搭建基于lazyUI的工程,并成功运行第一个测试用例. 本文以百度搜索为例,选 ...
- 基于Selenium的web自动化框架
转自 : https://www.cnblogs.com/AlwinXu/p/5836709.html 1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台. ...
- 【转】基于Selenium的web自动化框架(python)
1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.Sel ...
- 基于Python3.7 Robot Framework自动化框架搭建
一.Robot Framework 和 Selenium 的区别(面试常问) 主流自动化测试框架有Robot Framework 和 Selenium,请根据实际场景选用不同的框架,以下总结各自优缺点 ...
- Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)
概述 前面的一篇博文粗略介绍了基于lazyUI的第一个demo,本文将详细描述此工具的设计和使用. 元素获取插件:LazyUI Elements Extractor,作为Chrome插件,用于抓取页面 ...
- web自动化框架如何设计
web自动化框架如何设计po模式总结: 1. 页面对象模型:当页面特别多的时候,代码更好的维护 2. Po是pageObject设计模式,用来管理和维护一组web元素的对象库 3. 每一个page c ...
- 基于Selenium的Web自动化框架增强篇
在写完上一篇“基于Selenium的Web自动化框架”(http://www.cnblogs.com/AlwinXu/p/5836709.html)之后一直没有时间重新审视该框架,正好趁着给同事分享的 ...
- Jmeter+ant+Jenkins接口自动化框架搭建
摘自:https://testerhome.com/topics/13389 一.背景 上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...
随机推荐
- Thread的第二天学习
1.Timer 2.TimerTask 3.new Timer().schedule(new TimerTask( public void run(){...} ),long/date [ ...
- lintcode 中等题:minimum window substring 最小子串覆盖
题目 最小子串覆盖 给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串. 样例 给出source = "ADOBECODEBANC ...
- unity3d泰斗破坏神2----课程列表
免费 课时1:泰斗破坏神第一支预告视频 01:32免费 课时2:泰斗破坏神第二支预告视频 01:58第 1 章 : 游戏开始 用户登录 服务器选择课时3:游戏开始 用户登录 服务器选择课时4:素材介绍 ...
- 是什么让 Ubuntu 选用 Qt 而不是 GTK?
是什么让 Ubuntu 选用 Qt 而不是 GTK? 一个正在发生的事实,Ubuntu正在不断Qt化!我曾一直在抱怨的Software Center,今日一看源码,竟然有softwarecenter/ ...
- Using the Repository Pattern with ASP.NET MVC and Entity Framework
原文:http://www.codeguru.com/csharp/.net/net_asp/mvc/using-the-repository-pattern-with-asp.net-mvc-and ...
- Quartz动态添加、修改和删除定时任务
任务调度开源框架Quartz动态添加.修改和删除定时任务 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz框架包含了调度器监听.作业和触 ...
- 48. Rotate Image
题目: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...
- RedHat6配置yum源 (32位)
由于 redhat的yum在线更新是收费的,如果没有注册的话不能使用, 如果要使用,需将redhat的yum卸载后,重启安装,再配置其他源,以下为详细过程: 1.删除redhat原有的yum rpm ...
- javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint
使用hibernate validator出现上面的错误, 需要 注意 @NotNull 和 @NotEmpty 和@NotBlank 区别 @NotEmpty 用在集合类上面@NotBlank 用 ...
- Android新版本SDK打开旧版本项目报错解决
1.Description Resource Path Location Type Unable to resolve target 'android-19 解决:打开project.properti ...