测试基础
2024-05-25记住测试流程(6个步骤)
需求分析
测试计划
用例设计
用例执行
缺陷管理
测试报告
测试分类(7个)给你一个测试对象 如何设计测试用例?首先分析这个测试对象使用于什么场景(如穷举场景、边界限制场景。。。),根据场景选择对应的测试方法
在使用测试用例的过程中,可以用质量模型来思考测试时应该考虑的方面。质量模型从以下几个方面来思考:功能、性能、兼容、易用性、安全
例题:如何去测试一个花瓶?
功能: 插花、装水、养鱼、种菜
性能:防摔、耐高温、耐低温、耐腐蚀
易用:防滑、便携
属性:长、宽、高、样式、材质
……
穷举场景使用”等价类划分法”
重点:有效等价和单个无效等价各取1个即可。
步骤:
明确需求
确定有效和无效等价
根据有效和无效造数据编写用例(划分等价)
重点:
正向用例:一条尽可能覆盖多条
逆向用例:每一条数据,都是一条单独用例。
针对:
需要有大量数据测试输入,但是没法穷举测试的地方。
输入框
下拉列表
单选复选框
典型代表:页面的输入框类测试。
边界限制场景步骤:
1234561、明确需求2、确定有效和无效等价(类型)3、确定边界范围 ...
MySql
单表查询1757可回收且低脂的产品
注意要返回的是什么那么就去select什么
584寻找用户推荐人
MySQL是三值逻辑,分别为TRUE、FALSE和UNKNOWN,逻辑判断是如果逻辑运算符一端为NULL,则为UNKNOWN; 这段代码 referee_id =2 为TRUE,则NOT TURE为FALSE和UNKNOWN,即<>2 OR 为NULL
null不可以和数值类直接比较,其结果为unkonwn
⭐️IFNULL(referee_id, 0) <> 2:意思是如果 referee_id 列的值为 NULL,则将其替换为 0,然后与 2 进行比较。如果 referee_id 列的值不等于 2,那么这一行将被包含在结果中
1148文章浏览 1
我们可以在 SELECT 语句中使用 DISTINCT 关键字来从表 Views 中检索唯一元素
select 可以给列取别名
1683.无效的推文
获取某列字符长度的函数: CHAR_LENGTH ()
多表查询多表之间的业务关系主要有以下三种:
一对多(部门与部门员工的关系):多的一方 ...
八股文骚套路之Hr面
你做游戏测试的职业规划?
首先作为一个游戏的重度爱好者,从事游戏行业一直是我的理想,能将自己的兴趣和工作结合起来,真的是一件很棒的事情
要扎实专业技能,因为先前很少有实际应用于游戏场景的测试经验,所以在刚迈入工作岗位的时候,有必要在业务中强化自己的专业能力,做好本职工作,积累经验。
其次作为一名测试人员,我认为丰富的知识面也是相当重要的,测试是产品上线之前的最后一道工序,在测试中检测出问题的时候,需要经常需要和开发、策划人员进行沟通和反馈,所以自己本身对于业务的技术框架也必须是熟悉的,也许不需要对细节有多么深入的理解,但是一定要有一个宏观上的把控,所以我会努力去拓展自己的知识面,不仅仅是将眼光局限于测试技能,而是也要加强自己的代码能力,强化数据库、微服务等知识。
除了技能上的锻炼,作为游戏行业的测试,不同于其他测试岗位,对于游戏行业的风向和市场的偏好也必须有深刻的理解,一个不懂游戏的人去担任游戏行业的从业者显然是一件很糟糕的事情。
还有的话,我认为不断提高自己的软实力也是非常有必要的,在有了一定的积累之后,将不再单单局限于测试本身,而是会进行更加宏观的设计,比如测试策略的指制定、测试进 ...
算法
总体思路测开岗高频算法题测开岗的算法题难度相对要低一些,差不多都是剑指offer上或者力扣上的热门且难度为简单、中等的题。把每个标签的前5~10道题刷一刷,面试的时候基本够用。
三个数字的最大乘积
有两个很长很很长的字符串,但是字符都是数字,实现这俩字符串的加法,输出为一个字符串。如str1=”1231213347845713824718237489123748343246217489132”, str2=”623478573127438912743892017489132748172341324132”
两数之和 标签:哈希表 (★★★)
str1能不能最多交换两次字符变成str2,并设计测试用例。
和为s的连续正数序列 标签:暴力、双指针
有效括号 标签:栈 (★★★★)
数组中重复的数字 标签:哈希表 (★★★★★)
7的倍数或者包含7打印”-“,其余的打印数字,每行不超过5个数字
从1到100000000中取出一个数(自己申明一个变量,比如num = 2333),写代码找出取出的是哪个数。 标签:二分查找
一个数在有序数组里出现的次数。标签: ...
Docker笔记
docker 是什么?
docker 独立的容器(container),可以跨系统的运行打包好的程序
docker 常见命令停止所有正在运行的容器并且删除所有容器
1docker stop $(docker ps -aq) && docker rm $(docker ps -aq)
使用docker的demo123456789101112131415161718192021222324252627282930313233343536373839404142434445464748# 从dockerhub镜像仓库拉取镜像(image)# 第1步,去DockerHub查看nginx镜像仓库及相关信息# 第2步,拉取Nginx镜像docker pull nginx# 第3步,查看镜像docker images# 结果如下:REPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 605c77e624dd 16 months ago 141MBmysql ...
Java新特性
函数式接口(functional interface)定义:也称 SAM 接口,即 Single Abstract Method interfaces,有且只有一个抽象方法,但可以有多个非抽象方法的接口。
在 java 8 中专门有一个包放函数式接口java.util.function,该包下的所有接口都有 @FunctionalInterface 注解,提供函数式编程。在其他包中也有函数式接口,其中一些没有@FunctionalInterface 注解,但是只要符合函数式接口的定义就是函数式接口,与是否有@FunctionalInterface注解无关,注解只是在编译时起到强制规范定义的作用。其在 Lambda 表达式中有广泛的应用。
基本上,函数式编程是一种编程风格,它将计算看作为是数学函数的求值。
在数学中,函数是将输入集与输出集相关联的表达式。函数的输出仅取决于其输入。我们也可以将两个或多个函数组合在一起得到一个新函数
Linux系统疑难杂症
ideaVim中英文输入法切换问题
安装ideaVimExtension 插件
.ideavimrc中开启
12set keep-english-in-normalset keep-english-in-normal-and-restore-in-insert
idea中输入法不跟随鼠标的问题问题原因具体问题官方其实七年前就有了(参考 https://youtrack.jetbrains.com/issue/JBR-2460),但是比较坑的是官方也一直没有解决这个问题🐶(此处忍不住吐槽一下哈)。简单来说就是 Idea 的 jre 运行环境一个 bug,导致输入法无法定位到鼠标位置。因此,我们要解决该问题必须要修改 JetBrainsRuntime 的运行代码。
解决方法
下载已经修改好的 JRE 环境下载地址
替换idea目录的JRE
无法识别移动硬盘和U盘问题原因文件系统不兼容
解决方法12sudo pacman -S ntfs-3g
steam加速12yay -S watt-toolkit-bin
nvim中的可视化数据库插件123url:mysql://root:12 ...
Java常见面试题总结
JavaJava基础概念和知识Java语言的特点Java SE(Standard Edition) VS Java EE(Enterprise Edition)简单来说,Java SE 是 Java 的基础版本,Java EE 是 Java 的高级版本。Java SE 更适合开发桌面应用程序或简单的服务器应用程序,Java EE 更适合开发复杂的企业级应用程序或 Web 应用程序。
JVM vs JDK vs JRE
JVM(Java Virtual Machine) Java虚拟机是运行java字节码的虚拟机,是Java的核心,提供了Java的跨平台特性。
JDK(Java Development Kit) Java开发工具包,是Java的开发工具包,提供了Java的开发环境。它包含了 JRE,同时还包含了编译 Java 源码的编译器 javac 以及一些其他工具比如 javadoc(文档注释工具)、jdb(调试器)、jconsole(基于 JMX 的可视化监控⼯具)、javap(反编译工具)等等。
JRE(Java Runtime Environment) Java运行时环境, ...
黑马点评项目记录
基于 Session 短信登录
@RequestBody注解是用来接收前端发送过来的json字符串
发送短信验证码用户提交手机号,服务器生成验证码并保存到session,然后将验证码发给用户
短信验证码登录和注册用户提交手机号和验证码,服务器先校验验证码,然后根据手机号去数据库查询用户,若不存在,则创建新用户,然后保存用户信息到session
前台发送的数据格式是json的样式 后台要用@RequestBody注解 实现用LoginFormDTO实体类接收
登录成功之后要把用户信息存储到session中。
登录校验(验证登录状态)用户请求(request)中携带cookie(cookie中带有sessionid,而登录的凭证就是sessionid就保存在cookie中)
服务器从session中获取用户 获取到之后将用户缓存到ThreadLocal中,方便后续的使用
[!TIP]在业务中用户的每个请求都是一个独立的线程,所以不能将用户信息保存到本地变量中,这样会出现多线程并发修改的安全问题,因此要使用ThreadLocal技术 #### 登录拦截校验功能
⚠️有有很多con ...
Spring6启示录
[!TIP]基于动力节点spring6总结
Spring启示录OCP开闭原则在软件开发过程中应当对扩展开放,对修改关闭
依赖倒置
Dependence Inversion Principle(DIP)
要倡导面向抽象编程,面向接口编程,不要面向具体编程,让上层不再依赖下层,下面改动了,上面的代码不会受到牵连。这样可以大大降低程序的耦合度,耦合度低了,扩展力就强了,同时代码复用性也会增强。(软件七大开发原则都是在为解耦合服务)
Spring框架可以帮助我们创建对象,并且可以帮助我们维护对象和对象之间的关系
Spring其实就是一个管理Bean对象的工厂
控制反转
Inversion of Control(IoC)
控制反转的核心是:将对象的创建权交出去,将对象和对象之间关系的管理权交出去,由第三方容器来负责创建与维护。
控制反转常见的实现方式:依赖注入(Dependency Injection,简称DI。
Spring概述spring = IOC + AOP(面向切面编程)
Spring8大模块Spring 特点
轻量 a. 小 b. 非侵入式:Spri ...