软件测试-巨量测试
编辑时间:2024/11/13
软件测试基础知识
软件测试定义和测试分类
软件是计算机程序、程序所用的数据以及有关文档资料的集合。
软件测试分类
-
按测试执行阶段划分
单元测试、集成测试、系统测试、验收测试 -
是否运行程序划分
动态测试、静态测试 -
是否查看代码划分
黑盒测试,白盒测试,灰盒测试 -
根据测试内容划分
功能测试,界面测试,安全测试,兼容性测试,易用性测试,性能测试(压力测试,负载测试),恢复性测试 -
根据测试手段划分
手工测试,自动化测试 -
其他划分
回归测试,冒烟测试,探索性测试
软件生命周期
问题定位和规划->需求分析->软件设计->软件维护->软件测试->软件维护
软件测试的工作流程
测试需求分析->测试计划->测试设计->测试执行->质量评估
测试方法
用例设计
bug缺陷管理
计算机网络体系
计算机网络是用通信设备和线路将分散在不同地点的有独立功能的多个计算机系统互相连接起来,并按照网络协议进行数据通信,实现资源共享的计算机集合.
网络分类
局域网,广域网,城域网和市域网
协议
为进行数据交换而建立的规则,标准或约定
协议庞大且复杂但协议不是绝对可靠
网络分层
分层的优点
- 使复杂系统简化
- 易于维护,系统更新
- 某层功能变化,不会影响系统其余部分
缺点
- 有些功能可能在不同层重复出现
- 某层的功能可能需要仅存在其他某层的信息
物理层–网线,交换机
数据链路层–mac
-
查看
dos命令 ipconfig -
二层交换机:工作应OSI模型第二层的交换机,故称为二层交换机
-
二层交换机可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址对应的端口记录在自已内部的一个地址中
网络层–IP
IP:Internet Protocol
IP:它是能使链接在网上的所有计算机网络实现相互通信的一套规则,只要遵守IP协议就可以与因特网互联互通,IP具有唯一性,根据用户性质不同,可以分为5类。
格式:0-255.0-255.0-255.0-255
网络层–DNS
域名解析器,例如https://www.baidu.com–》域名解析器DNS–》访问对应的项目服务器
网络层–网关
从一个网络跨到另外一个网络经过的关卡,比如局域网跨广域网
接口测试
为什么要做接口测试?
- 前后端分离
- 项目一般不是独立的,经常调用外部的项目。项目和项目之间交互数据,通过接口交换
- 安全考虑
接口测试测什么?
USB接口:数据传递的正确性(参数),输出结果的正确性,以及各种容错处理和权限控制
项目接口:参数,结果,容错处理,权限
接口测试工具?
jmeter,postman,apifox,apipost。。。
jmeter
postman
fidder/charles
python
App测试
app测试范围
app自动化测试主要核心测试手机程序
测试方面
功能测试、安装卸载测试、升级测试、兼容性测试、网络切换,中断测试,横竖屏切换,健壮性。。。
测试环境的搭建
需要配置环境:
java jdk Java环境
android jdk环境
python环境和第三方库appnium
使用真机或者模拟器进行测试
例子
adb获取IP和版本号
adb获取当前界面
点击源码有一个连接地址更换到Remote参数里,端口号在appnium里;发送连接
from appnium import webdriver
# 配置手机练级恶的参数信息
# 参数信息都是以键值对的方式进行连接
desried_caps= {}
#设备名称 adb device获取
desired_caps["deviceName"]="127.0.0.1:62001"
#系统
desried_caps["platformName"]="Android"
#系统版本号
desried_caps["platformVersion"]="7.1.2"
# 通过adb命令下面信息:adb shell dumpsys window | findstr mFocusedApp
# 启动的app名称:com.android.settings
desried_caps["appPackage"]="com.android.settings"
# 启动的app界面: .Setting
desried_caps["appActivity"]=".Settings"
#print(desired_caps)
# 点击源码有一个连接地址更换到Remote参数里,端口号在appnium里;发送连接
webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_capabilities=desired_caps)
# 时间
time.sleep(5)
driver.quit()
app测试自动化的流程
- 首先明确项目的核心模块
- 设计用例脚本,分析用例的执行步骤