- 博客(42)
- 收藏
- 关注
原创 可访问性测试 --- PC端(1)
可访问性测试--无障碍测试--Accessibility testing,是检查残疾人士的应用程序,保证开发人员将创建所有类型用户都可以进行访问的应用程序,比如:普通用户和身体有缺陷的用户(色盲,学习障碍).可访问性测试的网站(华盛顿大学网站比较无障碍设计很好):https://www.washington.edu/accessibility/checklist/(2)屏幕阅读器对网站的使用:浏览器插件(Screen Reader),识别文字的字慕。(4)响应式布局:按华盛顿大学标准:放大5下。
2022-08-20 18:16:03
521
1
原创 性能功能测试
1. 性能测试:通过并发工具请求服务器,提前发现性能问题,优化并且解决。实际工作中什么时候才需要做性能测试?1.第三方软件质检中心2.项目需求(1)常规需求 会有性能测试环节(2)用户反映性能的问题 ---前期项目用户量不大,后期用户多查询速度特别慢。 --随着时间推移内存泄漏(3)对项目性能不放心性能测试最终目的是:希望项目达到一个什么样的标准2. 性能指标分析多--可以支持更多的用户访问快--用户体验舒畅--快好---访问都能成功,没有错误率省---达
2022-04-06 20:37:19
162
原创 性能测试指标解析
系统的性能指标(1)多---最大用户访问量(并发量)(2)快 --- 延时(响应时间)(3)好 --- 稳定性(4)省 --- 资源使用率 (5)思考(一下)时间一,响应时间客户感知的感应时间是端到端的。...
2022-03-30 13:22:41
1985
原创 白盒测试---讲解(1)
白盒测试1.定义:白盒测试又称结果测试,透明盒子,白盒测试是一种测试用例的设计方法。白盒指的是程序的内部结构和运作机制是可见的。2.测试目的:通过检查软件内部逻辑结构,对软件中的逻辑路径进行覆盖测试;已确定实际运行状态与预期状态是否一致。3.白盒分类:(1)静态分析:是一种不执行程序而进行的测试技术。静态分析的主要目的是检查软件的表示和描述是否一致,没有冲突。(2)动态分析:当软件系统在模拟或真实的环境中运行进行分析。显示一个系统在检查状态下是否正确。在动态分析中,重要的
2022-02-20 22:33:39
1308
转载 前端页面性能测试…
前端性能优化:1.减少http请求数2,静态资源使用CDN3.善用缓存,不重复加载相同的资源4.压缩文件5.使用HTTP26.使用服务端渲染什么是CDN内容分发网络(Content delivery network或Content distribution network,缩写:CDN)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
2022-02-15 21:02:56
714
原创 BUG的风险等级
A类——致命错误。不能完全满足系统要求,基本业务功能未实现,系统崩溃、不稳定或挂起等导致系统不能继续运行、导致系统出现不可预料的严重错误的问题。系统崩溃,死机,非法退出,无法继续操作,或引起其他软件系统出错。(如:操作系统崩溃,其他软件崩溃,执行主流程时,数据库发生死锁)业务流程或重要功能错误(如:主要流程某对象状态发生错误,严重的数值计算错误等)。数据通讯完全错误;与数据库连接错误。B类——严重错误。严重地影响系统要求或基本功能的实现,且没有办法更正(重新安装或重新启动不...
2022-02-14 18:19:03
663
2
原创 OWASP Juice Shop --- 客户端、服务器和数据层之间的高级通信路径
OAuth2.0就是客户端和认证服务器之间由于相互不信任而产生的一个授权协议。豆瓣就是客户端,通过QQ第三方登录授权登录。QQ就是认证服务器。详细参考: 一张图搞定OAuth2.0 - 闪客sun - 博客园AngularJS是一款构建用户界面的前端框架,,通过新的属性和表达式扩展了 HTML,实现一套框架,多种平台,移动端和桌面端。Material Design(中文名:材料设计语言),是由Google推出的设计语言,这种设计语言旨在为手机、平板电脑、台式机和“其他平台”提供更..
2022-02-11 21:27:28
1959
原创 JWT RS256 base64 md5 解释
JWT RS256 base64 md51.什么是JWTJWT由三部分组成(Header,Payload,Signature),可以把用户名、角色等无关紧要的信息保存到Payload部分。Header:base64enc({ "alg":"HS256","TYPE":"JWT"}) // eyAiYWxnIjoiSFMyNTYiLCJUWVBFIjoiSldUIn0=Payload:base64enc({"user":"vichin","pwd":"weichen123"}) //用户的
2022-02-10 21:32:57
3342
2
转载 cookie,session,token的优缺点。
cookie 数据放在客户的浏览器上优点:1.减轻服务器性能方面,应当使用cookie。缺点:1.单个cookie保存的数据不能超过4K。2.cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。session数据放在服务器上。优点:1.session较安全缺点:1.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。2.s
2022-02-10 20:42:57
2993
原创 测试基础----
笛卡尔的科学思想:复杂的问题分段解决,每段有问题,每段之间的链接可能有问题。整体的环境可能有问题。测试即预期结果与实际结果的不一致 。软件测试通常包括验证和确认。1. 测试的目的就是发现软件中的各种缺陷。2. 测试只能证明软件存在缺陷,不能证明软件不存在缺陷。3. 测试可以是软件中缺陷降低到一定程度,而不是消灭4. 以较少的用例,时间和人力找出软件中的各种错误和缺陷,以确保软件的质量。测试的目标-企业最终的目的是确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现
2022-02-05 16:55:58
284
原创 linux--⽤户管理及权限管理
用户组useradd功能:新增⽤户。usermod:修改⽤户属性userdel:删除⽤户。用法:userdel [-r] ⽤户名passwd用法:设置或修改⽤户密码、密码属性。su功能:⽤户切换用户groupadd 新建⽤户组• 常⽤选项: • g:指定组IDgroupmod修改⽤户组• 常⽤选项: • g:指定组IDgroupdel• 功能:删除⽤户组ID或名称更改文件属性chgrp:更改⽂件属组将a.tx...
2022-01-28 18:46:54
306
原创 python 运算符的优先顺序
1 Lambda #运算优先级最低 2 逻辑运算符: or 3 逻辑运算符: and 4 逻辑运算符:not 5 成员测试: in, not in 6 同一性测试: is, is not 7 比较: <,<=,>,>=,!=,== 8 按位或: | 9 按位异或: ^10 按位与: &11 移位: << ,>>12 加法与减法: + ,-13 乘法、除法与取余: *, / ,%14 正负号: +x,-x...
2022-01-26 10:48:24
2076
原创 mysql获取varchar列最大值
mysql获取varchar列最大值受版本,数据库的类型以及编码集的影响,varchar 的最大值也会不同。在MySQL 4.1以前,长度总是1个字节(varchar(20),指的是20字节)在MySQL 5.0以后,长度可以是1字节(最多255个字节)或2个字节(256到65535)按照官网说法最大值是65535bytes,utf8mb4编码情况下每个字符占4个bytes,最大值应该为16383.75...
2022-01-16 21:02:28
1950
转载 SQL之CASE WHEN用法详解
简单CASE WHEN函数:CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' ENDCASE SCORE WHEN 'B' THEN '良' ELSE '不及格' ENDCASE SCORE WHEN 'C' THEN '中' ELSE '不及格' END等同于,使用CASE WHEN条件表达式函数实现:CASE WHEN SCORE = 'A' THEN '优' WHEN SCORE = 'B' THEN '良' WHEN SCOR..
2022-01-16 17:51:44
594
原创 mysql----select----练习题(2)
-- 14、查询所有学⽣的Sname、Cno和Degree列。/*select Cno,degree from SCORE where SNAME in (select SNAME from STUDENG) */select b.sname,a.cno,a.degree from SCORE ainner join STUDENG bon a.sno=b.sno-- 15、查询所有学⽣的Sno、Cname和Degree列。select a.Sno,b.Cname,a....
2022-01-12 22:58:02
433
原创 mysql----select----练习题(1)
TEACHER-- 1、 查询Student表中的所有记录的Sname、Ssex和Class列。-- select * from STUDENG limit 1;SELECT SNAME,SSEX,CLASS FROM STUDENG -- 2、 查询教师所有的单位即不重复的Depart列。SELECT DISTINCT DEPART FROM TEACHER -- 3、 查询Student表的所有记录。SELECT * FROM STUDENG--..
2022-01-11 22:18:29
150
转载 python中关于__name__ 与 __main__的问题
有时候经常看到 python 代码中含有 if __name__ == '__main__' 的代码 ,但是却一直不知道是什么意思,可以通过相应的代码去试验即可知道其作用。一、 理解 我们知道每个python文件既可以被直接执行,则可以作为脚本导入到其他文件中。从而构建各个模块的联系。而 if__name__ == '__main__' 的作用也是用来区分是自己作为自己的文件进行执行的,还是被导入到其他文件当做脚本使用。为了更好的区分,看如下例子: 步骤一: 新建一个文件为:te...
2022-01-11 18:36:24
182
原创 sql语句及数据库在测试中的应用
mysql如何访问数据库1.通过软件可以链接2.通过web链接3.服务器中 命令访问mysql:DDL(Data Definition Languages)数据定义语言数据库、表、列、索引等数据库对象的定义。DML(Data Manipulation Language)数据操纵语句,用于增,删,改和查数据库记录(数据)DCL(数据操纵语句,用于添加、删除、更新和查)数据控制语句。访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。TCL(Trnsactio
2022-01-10 21:28:42
696
原创 测试篇--测试流程
测试流程。打开邮件查看测试任务,对测试任务有无疑问,并按照测试要求进行测试。 根据测试要求配置操作系统、安装要测试的软件.根据测试用例执行测试任务 执行软件测试,书写软件测试Bug报告.根据发现的软件Bug,按照客户要求写出每个Bug的报告. 测试遇到问题向测试负责人汇报。查收和回复新邮件。如果邮件又来了一个新的测试任务B,而且要求紧急处理暂停测试任务A,先进行测试任务B。没有新任务.继续测试任务A。测试完成向测试负责人提交任务B的测试结果. 发送测试任务A; 继续执行测试...
2022-01-09 19:48:46
104
原创 python模块
json模块json.dumps 将python中字典类型的对象转化为字符串类型的对象。json.loads将python中字符串类型的对象转换成字典类型的对象。(loads方法带s是对字符串进行操作,不带s是对文件进行的操作)。import json# json.loads 带s是对string操作 不带s是对文件操作# python中使用dict1={'name':'linda'}print(type(dict1))print(dict1)print(dict1['nam
2022-01-09 16:31:25
429
原创 运维 ---linux基础
云服务器的建立:win连接远程服务器:在搜索使⽤windows powershell打 开界⾯,ssh root@你云服务器ip,回⻋输⼊你的密码(⽆感 觉)如果成功会显示welcome。linux⽬录及⽂件管理总览⼀、 ⽬录操作命令:切换⽬录:cd查看⽬录:ls 和 pwd⽬录操作【增、删、改、查】【mkdir rm/rmdir,mv/cp,find】⼆、 ⽂件操作命令: ⽂件操作【增,删,改,查】 [touch,rm,vi/vim,mv/cp,cat/more/less/
2022-01-04 21:22:31
454
原创 Python模块--练习题
在web性能测试中,我们经常需要度量一个transaction(事务)需要花费多长时间,通常开发人员会使用log4j 打印出事物的开始点和结束点。下面是个真实的log4j输出内容 DEBUG 180106 21:58:51,607 Receiver_1#receive a new request, the session id is 2018010610020809 …. …. …. DEBUG 180106 21:59:38,908 Receiver_4#send response to.
2022-01-03 22:35:00
726
原创 Python异常处理练习
需求:·定义input_password函数,提示用户输入密码.如果用户输入长度<8,抛出异常·如果用户输入长度>=8,返回输入的密码def input_password(): while True: password=input('请输入密码') try: if len(password)>8: raise Exception("len too long!") .
2022-01-02 20:05:44
1790
1
原创 Python输出的几种方式
基本用法print("文件1:", file_name, "文件2:", new_name)%用法print("文、件1的名字是%s,文件2的名字是%s,有%d个" % (file_name,new_name,num))format用法print("文件1的名字是{},有{:.0f}个,文件2的名字是{}".format(file_name,num,new_name))最新用法f,python3.6以上支持print(f'My salary is {salary:10.3f}’)..
2022-01-02 14:30:26
3464
原创 Python异常处理
1.有些代码在某种情况下出错,是因为开发人员没有想到分支,可以增加if-else,而不是try.try处理异常:一般情况下是由环境引起的错误,而不是自己问题引起的错误,加try处理异常。
2022-01-01 20:41:19
152
原创 闭包和装饰器,递归函数
闭包:定义:内部函数返回了外部函数的变量 ,并且内部函数作为外部函数的返回值 ,就是闭包 。条件:Python 的函数内部还允许嵌套函数Python 函数可以作为函数参数和函数返回值。def fun_1(s): s1='hello'+s def fun_2(): return s1 return fun_2()print(fun_1('world!'))# helloworld!作用:建立了2个函数的关系不修改别的函.
2021-12-30 22:23:16
182
原创 Python中 ,浅拷贝--深拷贝 介绍
浅拷贝--直接赋值# 直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变alist=[1,2,3,["a","b"]]b=alistprint(b)# print(id(b))# print(id(alist))alist.append(5)print(alist)# print(id(alist))print(b)# print(id(b))浅拷贝# (2)copy浅拷,没有拷贝对象,所以原始数据改变,子对象会改变alist=[1,
2021-12-29 20:40:09
355
原创 Python-函数的练习题
3.T恤 :编写一个名为make_shirt() 的函数,它接受一个尺码以及要印到T恤上的字样。这个函数应打印一个句子,概要地说明T恤的尺码和字样。使用位置实参调用这个函数来制作一件T恤;再使用关键字实参来调用这个函数。def make_shirt(size,style): a=f"T恤的尺寸{size},T桖的样式{style}" return aprint(make_shirt('大号', '宋体'))print(make_shirt(size='小号', style='.
2021-12-29 17:53:15
1204
原创 While,for循环练习题
比萨配料 :编写一个循环,提示用户输入一系列的比萨配料,并在用户输入'quit' 时结束循环。每当用户输入一种配料后,都打印一条消息,说我们会在比萨 中添加这种配料。while True: ingredient=input('请输入比萨配料') print(f"我们在比萨中添加{ingredient}" ) if ingredient=='quit': break'''请输入比萨配料胡萝卜我们在比萨中添加胡萝卜请输入比萨配料西红柿我们在比萨中添加西红.
2021-12-28 22:26:04
643
原创 分支语句练习
练习1: 外星人颜色1 :假设在游戏中刚射杀了一个外星人,请创建一个名为alien_color 的变量,并将其设置为'green' 、'yellow' 或'red' 。 编写一条if 语句,检查外星人是否是绿色的;如果是,就打印一条消息,指出玩家获得了5个点。 编写这个程序的两个版本,在一个版本中上述测试通过了,而在另一个版本中未通过(未通过测试时没有输出)。(1)alien_color='green'if 'green' == alien_color: print('玩家获得5个点'.
2021-12-27 21:11:03
260
原创 字典与集合的操作方法
字典:创建字典的方式:alien_0 = {'color': 'green', 'points': 5,'num':[]}查询字典:dict1['key]--------------继承mapping的方法getalien_0.get('num')修改字典:赋值就是修改alien_0['color']='yellow'删除:删除clear删除全部数据(key与value),pop返回值为key对应value。遍历字典:# 遍历字典中的所有键值对key-val..
2021-12-26 17:16:11
232
原创 列表以及元祖的操作方法
列表:列表可以使⽤所有适⽤于序列的标准操作,例如索引、切 ⽚、连接和乘法。列表是可变元素包括增删改查创建:list1=[]增:append(obj):在列表末尾添加新的对象count(obj):统计某个元素在列表中出现的次数extend(seq):在列表末尾⼀次性追加另⼀个序列中的多个值 (⽤新列表扩展原来的列表)index(obj):从列表中找出某个值第一个匹配项的索引位置 insert(index, obj):将对象插入列表service = ['http','.
2021-12-26 15:17:10
316
原创 字符串的操作方法
根据索引进行切片的方法---去除想要的元素:[start:end:step] 从start 提取到end - 1,每step 个字符提取⼀个左侧第⼀个字符的位置/偏移量为0,右侧最后⼀个字符的位置/偏 移量为-1字符串也可以进行遍历• S.index(sub[,start[,end]]) 检测sub是否包含在字符串中,查 找不到会抛异常。返回第 ⼀个满⾜条件的索引。• S.find(sub[,start[,end]]) 检测sub是否包含在字符串中,查不 到返回-1。从右边开始查找:
2021-12-26 13:40:26
233
原创 Python字典--练习题
词汇表 :Python字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。1.想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。dict1={'js':'1','python':'2','java':'3','c++':'4','go':'5'}以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;for key,value in dict1.items(): print(ke.
2021-12-25 14:35:25
3243
原创 列表排序练习
想出至少5个你渴望去旅游的地方。将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。list1=['Tokyo','Chicago','Rome','Moscow ','Singapore']按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python列表。print(list1)使用sorted()按字母顺序打印这个列表,同时不要修改它。print(sorted(list1))再次打印该列表,核实排列顺序未变。print(lis.
2021-12-23 21:54:16
831
原创 Python字符串操作练习
1. 将字符串 "abcd" 转成大写str1='abcd'print(str1.upper()) #ABCD 2. 计算字符串 "cd" 在 字符串 "abcd"中出现的位置str2='abcd'print(str2.find('cd')) #23. 字符串 "a,b,c,d" ,请用逗号分割字符串,分割后的结果是什么类型的?str3='a,b,c,d's1=','print(s1.join(str3)) #a,,,b,,,c,,,d4. "{name}喜欢.
2021-12-23 21:25:21
6588
原创 变量从创建,引用到销毁的过程。变量的生命周期
创建:当Python变量赋值时,根据值来创建变量。字母,数字从结果可以看出从-5开始到256共享内存字符串:短字符串(没有空格)以及空字符串' ' 可以共享内存长字符串 不能共享内存列表, 字典可变数据所以每次都开辟新的内存元组每次都开辟新的内存,⽣成新的对象;但是对于空元组(),则共享内存。(不可变)**当变量A=B,两个变量是有相同的单元的。引用:当变量被引⽤,python引⽤计数器⾃增1,计数为0时就销毁销毁:计数器为0时,等待垃圾回收/用d..
2021-12-22 22:44:25
801
原创 判断和选择,去重,输出练习
如果输入“1,2,3,4”,显示正月,二月,三月,四月…数字与汉字月份转换 number=int(input("请输入1,2,3,4"))if number==1: print('正月')elif number==2: print('二月')elif number==3: print('三月')elif number==4: print('四月')对商品猜价格:设定一个神秘价格。你从控制台输入信息价格,让用户猜,只提示,猜大了,猜小了,猜对。(inp.
2021-12-22 21:33:40
506
原创 告诉你对应的幸运数字
number=input("请输入阴历出生月份")number=int(number)mouth=number+4<=12 or number+4-12print(mouth1)
2021-12-22 08:21:27
227
原创 Python数据类型
分为6种:List/Dictionary/Set/Number/String/Tuple可变类型:List/Dictionary/Set(空间大小不可变,如果需要增删改查就需要打破规则)不可变类型:Number/String/Tuple(给的地盘是固定的)(可以增删改查)有序的数据:list,tuple无序的数据:dict,set...
2021-12-21 21:15:52
192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人