当前位置: 代码迷 >> 综合 >> 软件测试常用小知识集锦(正则,SQL,服务器监控,webdriver...)
  详细解决方案

软件测试常用小知识集锦(正则,SQL,服务器监控,webdriver...)

热度:93   发布时间:2023-10-29 23:43:26.0

身为测试人员,除了功能测试的知识之外,还需要一些其他知识辅助我们进行测试工作,下面我就介绍几个我们常用的知识吧:

1. 正则表达式:(在这里我只介绍常用的,所有符号都为英文下的)

  • \n:换行符
  • \d:任意一个数字,0-9中的任意一个
  • \w:任意一个字母或下划线或数字,A-Z,a-z,0-9,_
  • \s:包括空格,制表符,换行符等空白字符的其中任意一个
  • .:任意一个字符
  • [abcd]:a或b或c或d任意一个,匹配一位字母
  • [^abcd]:除a、b、c、d外的字符匹配
  • \d{10}:匹配10个数字
  • \d{2,4}:匹配2位,3位,4位的数字
  • (.+?) (.*) (.+):这个方式是匹配全部,虽然好用,但是不精确
  • +:匹配前面的子表达式一次或多次
  • [\u4e00-\u9FA5]{2,5}:匹配2-5位汉字

2. SQL语句

  • 增加

insert into table_name values(‘1’,‘2’);//几个列就写几个数据
insert into table_name (name,sex) values (‘lili’,‘woman’);//给对应的列插入数据

  • 修改

update table_name set user_sex=‘man’;//修改所有性别都为男
update table_name set score=score+100;//分数列中数据都加100
update table_name set name=mengmeng where name=lili;//修改特定列

  • 查询

select * from table_name;//查询全部数据
select sex from table_name where name=lili;//查询name为lili的人的性别
select count(*) from table_name;//查询表中所有的数量

  • 删除

delete from table_name where sex=‘man’;//删除性别是man的行

  • 删除表

drop table;

  • 清空表

truncate table demo;

  • 创建表

create table emp1 (
id int,
name varchar(20),
salary numeric(10,2),
hire_date date
)

3.cmd导入dmp文件

imp 数据库用户名/密码 file=“dmp文件路径和名字” full=y

4.性能测试知识点

1.如果I/O得不到满足会导致应用的阻塞
2.在进行性能测试时,为了减小网络的影响,一般我们都在局域网中进行测试执行
3.资源监视器中的平均CPU:60s内这些服务在进程所使用的cpu的百分比
4.可用内存是备用内存和空闲内存的合计总量

5.服务器性能监控知识点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.Webdriver工作原理

通过命令请求webdriver,然后webdriver通过浏览器的api去做操作,并返回响应结果。
在这里插入图片描述

7.top命令

一般一个系统而言,如果cache的值很大,说明cache住的文件数多,如果频繁地访问文件都能被命中,很明显会比读取磁盘调用快,磁盘IO必定会减小。

8.内存命令

实际使用的物理内存数:-buffers/cache=used-buffers-cache

9.分布式和集群

分布式:一个业务拆分成多个子任务,部署在不同的服务器上
集群:同一个业务,部署在多个服务器上

10.sql检查是否有注入漏洞

在sqlmap安装的路径下进入cmd,检查注入命令是:

sqlmap.py -u “URL”(双引号必须要有)

11.RSA和AES的区别

RSA

非对称加密,公钥加密,私钥解密,反之亦然。由于需要大数的乘幂求模等算法,运行速度慢,不易于硬件实现。

通常私钥长度有512bit,1024bit,2048bit,4096bit,长度越长,越安全,但是生成密钥越慢,加解密也越耗时。

既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;

AES

对称加密,密钥最长只有256个bit,执行速度快,易于硬件实现。由于是对称加密,密钥需要在传输前通讯双方获知。

基于以上特点,通常使用RSA来首先传输AES的密钥给对方,然后再使用AES来进行加密通讯。

12.http和https的区别:

https协议需要到ca申请证书,一般免费证书很少,需要交费。
http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的。
HTTPS协议—安全超文本传输协议,是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全。

13.什么是ESB

ESB是Enterprise Service Bus的简称,中文翻译为企业服务总线,企业服务总线是一个实现系统间集成和互联互通的重要技术架构,可以理解为是一种消息和服务集成的中间件平台。

14.项目经理应该具备的素质

决策能力
计划能力
组织能力
领导能力
协调能力
创新能力
激励能力
交际能力
专业知识
管理知识
应用知识

15.软件测试的重要原则

1、测试用例中一个必需部分是对预期输出或结果进行定义
2、程序员应当避免测试自己编写的程序;
3、编写软件的组织不应当测试自己编写的软件;
4、应当彻底检查每个测试的执行结果;
5、测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料到的输入情况;
6、检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”;
7、应避免测试用例用后即弃,除非软件自身就是一个一次性的软件;
8、计划测试工作时不应默许假定不会发现错误;
9、程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比;
10、软件测试是一项极富创造性,极具智力挑战性的工作。
所以,做测试的小伙伴们要对自己有信心啊。

16、软件的内部质量,可以从哪六大特性进行解释?

  • 功能性:软件所实现的功能满足用户需求的程度,功能性反映了所开发的软件满足用户称述的或蕴含的需求的程度。
  • 可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度,可靠性对某些软件是重要的质量要求,它除了反映软件满足用户需求正常运行的程度,且反映了在故障发生时能继续运行的程度。
  • 易使用性:对于一个软件,用户学习,操作,准备输入和理解输出时,所做努力的程度,易使用性反映了与用户的友善性,即用户在使用本软件时是否方便。
  • 效率:在指定的条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度,效率反映了在完成功能要求时,有没有浪费资源(内存,外存的使用,通道能力及处理时间)。
  • 可维修性:在一个可运行软件中,为了满足用户需求,环境改变或软件错误发生时,进行相应修改所做的努力程度,可维修性反映了在用户需求改变或软件环境发生变更时,对软件系统进行相应修改的容易程度,一个易于维护的软件系统也是一个易理解,易测试和易修改的软件,以便纠正或增加新的功能,或允许在不同软件环境上进行操作。
  • 可移植性:从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。

17、单击数

单击数(Hits)是指客户端发出的HTTP的请求的数量,而不是指用户在HTML页面上的一次单击事件,例如:一次单击事件请求了页面A,包含3张图片1个框架,则这次单击共产生了5个Hits。

18、响应时间

前端响应时间:浏览器接收到响应数据后呈现和执行页面上的脚本所消耗时间。(这部分时间主要取决于客户端而非服务端)
服务端响应时间:应用系统从请求发出开始到客户端接收到数据所消耗的时间。

19、压测100万用户,需要多少服务器?

每一个IP支持6万个TCP连接,100万/6万 = 17个IP
1万用户500MB,100x500MB ≈ 50GB

黑盒测试和白盒测试的方法

黑盒测试:等价类划分、边界值分析、因果图分析、错误猜测
白盒测试:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、多重条件覆盖

持续更新中…

  相关解决方案