软件测试工程师测试用例及常用工具(总结中)

一些常识

统一资源定位符(URL):协议+服务器主机地址+:端口+/路径+?参数(键=值&键=值)
B/S结构(Browser/Server,浏览器/服务器模式)
C/S : Client/Server , 客户端/服务器

一些笔试题:

1、B/S和C/S的区别:
C/S建立在专用网络上,通过专门服务器服务;B/S建立在广域网络上,不必有网络硬件环境
C/S一般面向固定的用户群,对信息安全的控制能力很强;B/S面向不可知的用户群,对安全的控制能力相对弱
B/S和C/S架构的区别:
a、建立基础不同
C/S局域网,B/S广域网
b、硬件环境不同
C/S建立在专用网络,局域网之间通过专门的服务器提供连接
B/S建立在广域网,不需要专门的网络硬件环境
c、对安全的要求不同
C/S面向固定用户群,信息安全控制能力强
B/S面向不可知用户,信息安全控制能力弱
d、对程序架构不同
C/S注重流程,对权限多层校验,影响系统运行速度
B/S同时考虑安全以及访问速度,建立在需要更加优化的基础上
e、软件重用不同
C/S需要考虑整体性,重用性相对差
B/S多重结构,重用性好
f、系统维护不同
C/S整体考察,处理出现的问题以及系统升级
B/S 构件组成,方面构件个别的更换,实现系统的无缝升级
g、处理问题不同
C/S 程序可以处理用户面固定
B/S 建立在广域网上, 面向不同的用户群, 分散地域
h、用户接口不同
C/S 多是建立的Window平台上,表现方法有限
B/S 建立在浏览器上,还可应用于unix/Linux等平台
i、信息流不同
C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
B/S 信息流向可变化,类似交易中心

2、mysql中order by的使用
用于根据指定的列对结果集进行排序,gropu by用于分组
3、五种常用黑盒测试测试用例设计方法:
等价类划分:将输入划分为多个等价类,测试时只需要从每个类中选取少数代表数据即可
因果图法:针对等价划分的多类数据控制变量的组合,判断错误
边界值分析法:测试合法值边界和非合法值边界
猜错法:根据错误的规律性推断缺陷可能存在的地方
随机数法:自动生成大量随机数
4、测试分为哪几个阶段:
1、单元测试
2、集成测试
3、系统测试
4、验收测试:alpha测试(开发测试)和beta测试(脱离开发环境后的用户测试)
5、白盒测试的测试方法有:
代码检查法、程序变异、静态结构分析法、静态质量度量法、符号测试法、逻辑覆盖法、域测试、Z路径覆盖和基本路径测试法。
6、对测试的理解,测试用例的设计思路
就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
7、数据库事物的四大特征
原子性、一致性、隔离性、持久性
8、如何给数据库添加主键
alter table 表名 add primary key(字段列表)
9、get和post的区别
get是从服务器上获取数据,post是向服务器传送数据。
get安全性非常低,post安全性较高。 因为参数直接暴露在URL上
GET请求只能进行url编码,get传送的数据量较小,而POST支持多种编码方式
10、面对随意举例的测试物品常从以下几个方面回答:
目测外观
功能测试
性能测试
安全测试
兼容测试
实用性测试

软件测试实例

一、单元测试:给定一个字符串,判断是否是ip地址
1、确认ip的格式:(1-255).(0-255).(0-255).(0-255)
2、判断ip是否为空
3、检查ip长度:最短(x.x.x.x)7位,最长(xxx.xxx.xxx.xxx)15位
4、输入字符首末尾字符判断:只能是数字
5、按’.'分割字符串:确认分割出来是4个
6、对分割后的字符单独判断
6.1、每位字符都不是单个,且以0开头非法
6.2、每位字符不是0-9、非法
二、web测试:简单用户登录过程
1、功能测试:
1、正确输入用户名和密码-点击提交-正确登录
2、输入错误用户名和密码-点击提交-提示相应错误
3、空白账号和密码登录-提示相应信息
3、输入未注册的用户名和任意的密码,提示对应信息
4、登录成功后页面跳转严重
5、用户名和密码长短、加载特殊字符严重(尤其是空格)
6、用户名和密码前后有空格验证
7、记住用户名和记住密码验证(注意登录失败后密码不会保存)
8、(如有验证码)验证码文字识别难度验证
8.1、刷新页面是否会刷新验证码
8.2、验证时效内和时效外验证码的有效性
9、页面:注册、忘记密码和其他功能正常跳转验证
10、输入密码时:大写键盘开启提示信息
2、界面测试
1、页面布局合理,按钮和testbox整齐
2、界面设计与需求文档一致,无错别字和丢失字段
3、性能测试
1、打开登录页面,响应时间验证
2、输入正确用户名和密码后,跳转响应时间验证
3、模拟大量用户同时登入,检测压力下是否正常登录跳转
4、安全性测试
1、登录成功后生成的Cookie是否是HttpOnly(安全)
2、验证用户名和密码是否通过加密的方式发送到web服务器
3、用户名和密码的验证应该用服务端验证,而不仅仅在客户端用javascrip验证
4、用户名和密码框防止SQL注入
5、用户名和密码框禁止输入脚本(防止XSS跨站脚本攻击)
6、防止暴力破解:检测是否有登入错误次数
7、检测一号多机器登入
8、检测一机器多号登入
9、不登陆的时候直接在浏览框中输入登录界面后的url地址,是否会重新定位到登陆界面
5、兼容性测试
1、不同浏览器
2、不同浏览器的不同版本
3、不同的平台(linux和mac)
4、移动设备
5、不同分辨率
6、可用性测试
1、是否支持全键盘操作,快捷键
2、回车键是否支持登录
3、tab键支持切换
4、密码输入框是否不支持复制粘贴
5、输入的密码是否可以在页面源码模式下被查看
7、本地化测试
1、不同语言环境下页面显示是否正常
8、弱网测试
1、网络切换和网络延迟时登陆界面是否正常

普通界面测试用例涉及:
1、文本框合法性校验:正常输入、特殊字符、复制粘贴、超长字符
2、事件触发:按钮功能、点击其他页面是否可以关闭
3、下拉框校验:下拉数据来源展示、下拉单选/多选校验、
4、显示校验:默认显示、功能按钮等正常显示、页面布局
5、分页功能校验:空、大量数据、页面跳转、
6、按钮功能校验:正确、错误
7、必填项校验:控制变量

涉及到的软件

一、移动端ADB
adb for windows:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
安装:https://www.jb51.net/article/143231.htm
常用命令:https://www.jianshu.com/p/7434fdad4768
二、Fiddler抓包工具
教程:https://www.jianshu.com/p/a6038fdb309b
总结:
Fiddler原理:通过改写HTTP代理,监控并截取通过的数据
HTTPS:是基于HTTP协议,通过SSL和TLS提供加密处理数据、验证对方身份以及保护数据完整性
Host:网络服务器
使用:1、保证Capture Traffick开启
2、Statistics:请求的性能数据分析
Inspectors:查看数据内容
AutoResponder:允许拦截制定规则的请求
Composer:自定义请求发送服务器
Filters:请求过滤规则
命令:1、匹配包含字符串的请求:?+字符串
2、匹配请求大小:>Body;=Result
3、匹配域名:@+Host
4、匹配Content-Type:select+Content-Type
5、清屏:cls
6、请求打包:dumpAll
7、监听请求:start/stop+All

三、JMeter(压力测试)
安装教程:要先安装java环境:https://www.cnblogs.com/lxclxc/p/10756842.html
四、DBeaver
1、配置方法:
服务器地址:DATABASE_MASTER_URL=
数据库:DATABASE_USERNAME=activity_zt_2345
用户名:DATABASE_USERNAME=activity_zt_2345
密码:DATABASE_PASSWORD=
软件测试工程师测试用例及常用工具(总结中)_第1张图片
2、使用
增:insert into 表名 (字段)values(内容);#两个括号都要
新增字段:ALTER table 表名 add 字段 bigint(20) ;

删:delete from 表名 where 字段=条件
删除字段:ALTER table 表名 drop 字段

改:update 表名 set 字段=更改的内容 where id=条件
修改字段:ALTER table 表名 modify字段+约束

查:select * from 表名 where 字段=‘条件’
按两个表匹配字段查找:select * from 表1 inner join 表2 on 表1.字段=表2.字段;
select 表1., 表2. from 表1,表2 where 表1.条件=表2.条件;
例:#INSERT into hbtt_report_history (passid,uid ) values (1000,10001);
#DELETE FROM hbtt_report_history where id=3;
#UPDATE hbtt_report_history set uid = 4 where id=2;
#SELECT * FROM hbtt_report_history where monitor_channel = ‘UMENG_CHANNEL_VALUE’;

五、接口测试工具postman
下载:https://www.postman.com/downloads/
教程:
https://www.cnblogs.com/cocomoly/p/11725219.html

软件测试工程师测试用例及常用工具(总结中)_第2张图片
数据请求body中选项:
from-data:混合表单,支持上传文件;
x-www-from-urlencoded:文本表单
raw:原始格式,支持JSON/XML格式
binary:二进制格式
GET把参数包含在URL中,POST通过request body传递参数

六、其他常用工具
1、https://www.bejson.com/
2、在线工具:https://tool.lu/timestamp/

七、kafka
kafka是分布式发布-订阅消息系统。是一个分布式,可划分的,冗余备份的持久性的日志服务,它主要用于处理流式数据。
1、broker:消息代理,Producers往broker写消息,Consumers从broker中拉取指定topic消息。
2、zookeeper:

八、selenium项目实战

// A code block
var foo = 'bar';

你可能感兴趣的:(测试,软件测试)