软件测试培训
达内IT学院
400-996-5531
一直在跟大家说软件测试的方法、技巧、注意事项等等, 却忘记跟大家谈论一下软件测试的目的是什么,也许真正理解了这个问题,别的问题也就容易多了,不信你看完软件测试的目的,再来看web测试试试!
对于软件测试的目的你是怎么理解的呢?小编是这样认为的:软件测试是为了发现尽可能多地缺陷(bug),衡量软件是否满足客户要求,这个是在实际过程中碰到的,因为需求才是王道呀,我们要站在客户角度测试, 只要你测试的功能,客户说好,那肯定就是好的, 如果测试了再多bug都没有测试到用户认为的bug,那你就是失败的,你觉得呢?
了解了软件测试的目的,我们再来看下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开发语言--tomcat:oracle-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)功能测试
1.web的业务逻辑:OA系统、理财系统、财务系统、电子商务系统、银行系统
2.web的数据行为:增加(数据流的顺序--不同模块/不同账户)、删除、查找、修改
3.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注入(输入内容,有单引号‘ 致用户名为空,可越过密码登录)
恭喜你阅读完了本文,相信通过本文的阅读你已经了解了软件测试的目的、web测试原理与实践方面的知识,你掌握了多少呢?针对软件测试,你还有其他的疑问吗?欢迎你来达内软件测试培训机构进行咨询。
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved