软件测试错题笔记

​​​​​​​ 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(字符串)

相关推荐
摇滚侠9 小时前
2025最新 SpringCloud 教程,编写微服务 API,笔记08
笔记·spring cloud·微服务
h***34639 小时前
Redis安装教程(Windows版本)
数据库·windows·redis
小白学大数据10 小时前
构建混合爬虫:何时使用Requests,何时切换至Selenium处理请求头?
爬虫·python·selenium·测试工具
泡沫·11 小时前
5.MariaDB数据库管理
数据库·mariadb
i***512611 小时前
【数据库】MySQL的安装与卸载
数据库·mysql·adb
我的老子姓彭11 小时前
N32WB蓝牙芯片开发
笔记
数白11 小时前
Oracle 数据迁移最佳实践(不使用第三方工具)
数据库·oracle
周杰伦fans11 小时前
C# 中的**享元工厂**模式
开发语言·数据库·c#
历程里程碑11 小时前
各种排序法大全
c语言·数据结构·笔记·算法·排序算法
空空kkk11 小时前
SpringMVC——拦截器
java·数据库·spring·拦截器