软件测试错题笔记

​​​​​​​ 1.capitalize()表示将字符串第一个字符转换为大写

2.pop()方法:指定一个键(key)作为参数来删除并返回对应的值,不传入任何参数报错。

3.测试方法:黑盒测试(等价类划分法、边界值分析、因果图分析:错误猜测)

4.SQL的执行顺序是:

5.数据库范式从低到高分别是1NF、2NF、3NF、BCNF、4NF、5NF。

6.executeUpdate()方法用于执行INSERT、UPDATE或DELETE等DML语句,其返回值表示受影响的行数。

[7.union all和union](#7.union all和union)

8.看到性能选时间!

[9.软件调试技术: 试探法(强行排错法)、回溯法:人工沿着程序的控制流程往跟踪代码,直到找出错误根源为止、对分查找法:缩小错误的范围、归纳演绎 、 原因排除法](#9.软件调试技术: 试探法(强行排错法)、回溯法:人工沿着程序的控制流程往跟踪代码,直到找出错误根源为止、对分查找法:缩小错误的范围、归纳演绎 、 原因排除法)

[10.在Python中,当字符串前加上字母r时,表示这是一个原始字符串(raw string)。原始字符串会将反斜杠()当作普通字符处理,而不是转义字符。](#10.在Python中,当字符串前加上字母r时,表示这是一个原始字符串(raw string)。原始字符串会将反斜杠()当作普通字符处理,而不是转义字符。)

11.*p是解包操作

[12.__name__定义在一个模块中,当解释器执行这个py文件时,name__的值就为__main; 当这个模块被引用即被其他模块import时,__name__的值就是模块名,也就是py文件名。](#12.__name__定义在一个模块中,当解释器执行这个py文件时,name__的值就为__main; 当这个模块被引用即被其他模块import时,__name__的值就是模块名,也就是py文件名。)

13.map()函数:返回布尔值(True/False)

[14.*表示强迫使用关键字传参,即必须写成fun(1,b=某个值)的形式。 def f1(a, *, b, c): return a + b + c 对于上面这个函数而言,调用时参数a可以任意值, 但b,c参数一定要以关键字参数的形式传参,如f1(1, b=4, c=5),否则将会报错。](#14.*表示强迫使用关键字传参,即必须写成fun(1,b=某个值)的形式。 def f1(a, *, b, c): return a + b + c 对于上面这个函数而言,调用时参数a可以任意值, 但b,c参数一定要以关键字参数的形式传参,如f1(1, b=4, c=5),否则将会报错。)

[15. enumerate()函数会返回一个包含索引和元素的迭代器,其中i是索引(从0开始),j是对应的元素值。](#15. enumerate()函数会返回一个包含索引和元素的迭代器,其中i是索引(从0开始),j是对应的元素值。)

[16. locate函数:Locate(str,sub) > 0,表示sub字符串包含str字符串;Locate(str,sub) = 0,表示sub字符串不包含str字符串。](#16. locate函数:Locate(str,sub) > 0,表示sub字符串包含str字符串;Locate(str,sub) = 0,表示sub字符串不包含str字符串。)

[17.字符串的截取:substring(字符串,起始位置,截取字符数)](#17.字符串的截取:substring(字符串,起始位置,截取字符数))


1.capitalize()表示将字符串第一个字符转换为大写
2.pop()方法:指定一个键(key)作为参数来删除并返回对应的值,不传入任何参数报错。
3.测试方法:黑盒测试(等价类划分法、边界值分析、因果图分析:错误猜测)
4.SQL的执行顺序是:

FROM--WHERE--GROUP BY--HAVING--SELECT--ORDER BY(先查询where条件,having条件,其次是分组,最后排序)(WHERE子句和GROUP BY子句。WHERE用于过滤行,而GROUP BY用于分组。)

5.数据库范式从低到高分别是1NF、2NF、3NF、BCNF、4NF、5NF。

各范式之间的关系是:

  • BCNF是在3NF的基础上进一步改进的,要求所有非主属性对每一个候选码都完全函数依赖

  • 3NF在2NF基础上消除了非主属性对候选码的传递函数依赖

  • 2NF在1NF的基础上,消除了非主属性对码的部分函数依赖

  • 1NF是最基本的范式,要求属性不可再分

范式级别越高,冗余度越小,数据一致性越好。但实际应用中,并不一定要遵循最高范式,需要在查询性能和数据一致性之间做平衡。

6.executeUpdate()方法用于执行INSERT、UPDATE或DELETE等DML语句,其返回值表示受影响的行数。
  • executeUpdate()方法返回值的具体含义:

  • 对于INSERT语句:返回新增的记录数

  • 对于UPDATE语句:返回更新的记录数

  • 对于DELETE语句:返回删除的记录数

  • 如果执行失败则会抛出SQLException异常,而不是返回特殊值。

7.union all和union

|--------------|-------------------|----------------------|
| 特性 | UNION ALL | UNION |
| 去重 | 保留所有行(包括重复行) | 自动去重(删除完全相同的行) |
| 执行效率 | 高(无需额外计算去重) | 低(需排序/去重操作) |
| 结果顺序 | 按查询顺序拼接(如先男生后女生) | 通常按去重后的顺序返回(不保证原始顺序) |
| 适用场景 | 需保留所有记录时(如日志合并) | 需唯一结果时(如用户列表去重) |

注:因无需去重操作,执行效率通常高于UNION,尤其适合大数据量场景。

语法要求:

每个SELECT语句的列数必须相同。

对应列的数据类型需兼容(如数值型与字符型需隐式转换,否则报错)。

列名以第一个SELECT语句为准,后续语句的列名会被忽略。

8.看到性能选时间!

性能测试是正常情况下的性能指标;

压力测试是测试系统的瓶颈所在;

负载测试是指系统重负荷性能指标;

压力测试理解起来更像是测试高压情况下的性能指标,负载更像是一步一步增加负载,测试各个负载的指标,从而最后找到瓶颈

9.软件调试技术: 试探法(强行排错法)、回溯法:人工沿着程序的控制流程往跟踪代码,直到找出错误根源为止、对分查找法:缩小错误的范围、归纳演绎 、 原因排除法
10.在Python中,当字符串前加上字母r时,表示这是一个原始字符串(raw string)。原始字符串会将反斜杠()当作普通字符处理,而不是转义字符。
11.*p是解包操作
12.__name__定义在一个模块中,当解释器执行这个py文件时,name__的值就为__main; 当这个模块被引用即被其他模块import时,__name__的值就是模块名,也就是py文件名。
13.map()函数:返回布尔值(True/False)

filter()函数:保留满足条件的元素

reduce()函数:对列表元素累加求和。

insert()方法:在索引3处插入25(原索引3的元素19后移)。

关键点:insert()方法返回None(它直接修改列表,不返回值)。

14.*表示强迫使用关键字传参,即必须写成fun(1,b=某个值)的形式。 def f1(a, *, b, c): return a + b + c 对于上面这个函数而言,调用时参数a可以任意值, 但b,c参数一定要以关键字参数的形式传参,如f1(1, b=4, c=5),否则将会报错。
15. enumerate()函数会返回一个包含索引和元素的迭代器,其中i是索引(从0开始),j是对应的元素值。
16. locate函数:Locate(str,sub) > 0,表示sub字符串包含str字符串;Locate(str,sub) = 0,表示sub字符串不包含str字符串。
17.字符串的截取:substring(字符串,起始位置,截取字符数)

字符串的拼接:concat(字符串1,字符串2,字符串3,...)

字母大写:upper(字符串)

相关推荐
長琹2 小时前
AES加密算法详细加密步骤代码实现--身份证号码加解密系统
网络·数据库·人工智能·python·密码学
Joy T2 小时前
雨后阳光为何更强烈?
笔记·环境科学·有趣的环境现象
yuxb733 小时前
Docker学习笔记(三):镜像与容器管理进阶操作
笔记·学习·docker
ST.J3 小时前
webpack笔记
前端·笔记·webpack
只因在人海中多看了你一眼3 小时前
B.50.10.06-NoSQL数据库与电商应用
数据库·nosql
烟雨归来4 小时前
3 个 ASM 磁盘故障案例,从故障诊断到解决方案
数据库·oracle
时序数据说4 小时前
时序数据库IoTDB的六大实用场景盘点
大数据·数据库·物联网·时序数据库·iotdb
MyFreeIT4 小时前
MySQL Function
数据库·mysql
姚瑞南4 小时前
【AI产品思路】AI 原型设计工具横评:产品经理视角下的 v0、Bolt 与 Lovable
人工智能·经验分享·笔记·aigc·产品经理