软件测试
软件测试概念我认为概念是推理的基础,认识概念才能正确的运用相关技术 软件测试是什么 一种发现软件缺陷的的活动 评估软件的特性或能力,确定其是否达到预期 为什么要软件测试 为了保证软件质量 关于软件测试的两种观点 测试是为了证伪(Myers) 假设程序是错误的,证明其正确 测试是为了证明软件是正确的(Bill Hetzel) 假设程序是正确的 什么是软件质量 即产品所满足的特性 这些特性可能是用户的需求,产品固有的性质或者是行业标准所规定的 内部质量 主要是代码,极其相关的特性 外部质量 主要是产品的功能 使用质量 从场景和用户的角度出发分析质量 软件缺陷 从内部看: 软件设计,开发,维护的不合理 从外部看: 软件功能的失效或违背 软件测试分类按阶段分: 需求评审: 需求 SRS 是否完整,正确,清晰 设计评审: 设计结果是否符合需求 单元测试: 函数,类,模块 集成测试: 几个完成的单元作为系统一起测试 系统测试: 测试整个系统(软件,硬件) 验收测试: 用户参与,在用户环境,使用用户数据作测试 alpha测试:...
Linux 复习
选择题(15分) 新建文件 : touch mkdircat echo vimrm mv 简答题(16分) yum 本地源配置 手动添加用户,系统变化的6个地方: /etc/passwd /etc/shadow /etc/gpasswd /etc/gshadow /home/.. /var/spool/mail 操作题(48分) 权限 字母数字 chmod cron cut sed awk su - sudo su 描述 改变用户名,组名usermod 硬链接,软链接,如何建立,作用 打包,压缩 增删改查 touch\mkdir rm -rf vi find\grep 别名 alias Shell 编程(16分) 1234567891011121314151617181920212223242526#!/bin/bash# # 输入用户名,数量,密码 # 创建对应数量的用户并设置初始密码# # 提醒读入read -p "input username" nameread -p "input number of...
Linux 小技巧
这篇记录一些我在学习和使用 Linux 过程中发现的小技巧,所谓技巧就是说不用它也可以,但是用了会更简单 有时候需要后面的表达式先执行,就可以用 1express1 $(express2) $(…)和${…}的区别: $():它表示命令替换操作符。在$()内部包含一个命令,它会执行该命令并将其输出作为字符串返回。例如,$(date)会执行date命令并将当前日期和时间的字符串表示形式作为字符串返回。这个字符串可以被赋值给一个变量,或者被传递给其它命令进行进一步处理。 ${}:它表示变量替换操作符。在${}内部指定一个变量名,它会将该变量的值替换为该字符串。例如,${HOME}会将HOME环境变量的值替换为一个字符串,该字符串代表当前用户的主目录路径。这个字符串也可以被赋值给一个变量,或者被传递给其它命令进行进一步处理。 计算 1$((express))
Webscoket 核心
Webscoket 核心是什么一种服务端/浏览器端双向推送技术 为什么因为 HTTP 协议有一个缺陷:通信只能由客户端发起 怎么用构造函数(返回一个 WebSocket 对象) 1WebSocket(url[, protocols]) Constant Value WebSocket.CONNECTING 0 WebSocket.OPEN 1 WebSocket.CLOSING 2 WebSocket.CLOSED 3 属性 解释 binaryType 使用二进制的数据类型连接。 bufferedAmount 只读 未发送至服务器的字节数。 extensions 只读 服务器选择的扩展。 onclose 用于指定连接关闭后的回调函数。 onerror 用于指定连接失败后的回调函数。 onmessage 用于指定当从服务器接受到信息时的回调函数。 onopen 用于指定连接成功后的回调函数。 protocol 只读 服务器选择的下属协议。 readyState 只读...
MongoDB 安装和使用
MongoDB 安装和使用使用 Docker 安装Pull the MongoDB Docker Image1docker pull mongo Run the Image as a Container12345mkdir -p ~/.mongodb/dbdocker run --name mongo -d -p 27017:27017 --privileged=true \ -e MONGO_INITDB_ROOT_USERNAME=root \ -e MONGO_INITDB_ROOT_PASSWORD=021009 \ -v ~/docker/mongodb/db:/data/db mongo Connect to the MongoDB Deployment with mongoshOpen an interactive container instance of mongo and connect to the deployment with mongosh. 1docker exec -it mongo mongosh mongo...
Archlinux BspWM 外接显示器
了解123man xrandr # 查看帮助xrandr # 获取显示器接口信息 显示配置非必要 1vim /etc/X11/xorg.conf.d/10-monitor.conf 12345678910111213Section "Monitor" Identifier "eDP-1-1" Option "Primary" "true" Option "DPMS" "true" Option "PreferredMode" "1920x1080_60.00"EndSectionSection "Monitor" Identifier "HDMI-0" Option "DPMS" "true" Option...
ArchLinux 触摸板调教
开始之前OS:Archlinux WM:bspwm 安装触摸板驱动sudo pacman -S xf86-input-libinput 配置文件 1sudo vim /etc/X11/xorg.conf.d/30-touchpad.conf 1234567Section "InputClass" Identifier "touchpad" Driver "libinput" MatchIsTouchpad "on" Option "Tapping" "on" Option "TappingButtonMap" "lmr"EndSection 写入配置之后记得重新启动一下 配置触摸板手势安装配置 libinput-gestures 1sudo pacman -S...
Postman 但是 React
0x00要求创建一个前后端分离项目,并使用Postman测试后端API 0x01 分析开始之前 Postman的大名早有所耳闻,以前没有使用它只因为觉得它的功能有些许鸡肋(请求响应而已) 所以我决定写一个Postman的子集(t4t-api),并用它来做一些简单的接口测试。 创建一个前后端项目,为了快速创建项目,前端使用React框架,后端使用SpringBoot。 Postman的界面主要分为三个区域:(1)请求发起区域(2)结果显示区域(3)历史记录区域 下面的前端项目也采用这种功能布局。 0x02 前端1.创建一个React项目 2.经过一晚上的努力,看看效果 0x03 后端项目这里的后端项目采用我以前写好的几个项目: 1.文件上传下载项目(还没写完) 页面大概长这样 用手机扫描二维码就可以打开网页,然后点击“Browse”就可以选择要上传的文件,然后点击“UPLOAD”上传。 要测的主要就是这两个接口: GET请求返回二维码 GET请求返回html 2.SpringMVC 学习项目 前面测了GET,这里测试POST: 0x04...
React 中的 hook
HookReact中的Hook是React 16.8版本引入的新特性,它可以让函数组件拥有类组件的一些特性,例如状态管理和生命周期方法。使用Hook可以使代码更加简洁、易于理解和维护。 React中常用的Hook包括: useState:用于在函数组件中添加状态管理功能。 useEffect:用于在函数组件中添加生命周期方法。 useContext:用于在函数组件中使用上下文。 useReducer:用于在函数组件中使用Reducer进行状态管理。 useCallback:用于在函数组件中缓存回调函数,避免不必要的重新渲染。 useMemo:用于在函数组件中缓存计算结果,避免不必要的重复计算。 useRef:用于在函数组件中创建可变的引用对象。 使用Hook可以使函数组件具有更多的能力,同时也可以提高代码的可读性和可维护性。 useStateuseState是React中最基础的Hook之一,它可以让函数组件拥有状态管理的能力。使用useState需要先导入: 12import React, { useState } from...
Java 更多"特性"
不仅仅是语言特性SPIJava SPI(Service Provider Interface)是一种机制,它允许在运行时动态地替换接口的实现。这种机制允许开发人员编写一组接口,然后由不同的实现提供者提供不同的实现。SPI机制是Java标准库中的一部分,可以用于扩展Java应用程序的功能,而无需修改代码。SPI机制通过类加载器机制实现,它允许应用程序在运行时动态地加载和卸载实现。在Java中,SPI机制主要用于服务发现、插件机制等场景。 一个常见的例子是Java数据库连接(JDBC)。JDBC是一种标准的API,它定义了一组接口,用于访问各种不同类型的数据库。然而,不同的数据库供应商会提供不同的JDBC驱动程序来实现这些接口。在Java中,可以使用SPI机制来动态地加载和使用这些不同的JDBC驱动程序,而不需要在代码中显式地指定使用哪个驱动程序。这样,应用程序就可以在运行时根据需要选择不同的数据库驱动程序,而不需要修改代码。 Java AgentJava Agent是一种Java应用程序,它可以在运行时监控和修改Java应用程序的行为。Java...




