上海个人医疗网站备案表,青海住房和建设厅网站,根据网站做软件,制作网页教程的注意事项目录#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结#xff08;尾部小惊喜#xff09; 前言
1、极限值并发的问… 目录导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结尾部小惊喜 前言
1、极限值并发的问题
由极限值而导致的并发问题那么什么又是极限值呢
极限值标准要求的数值范围的界限“极限值也被称为极限数值”、“临界值”、“界限数值”。
我们举例来说明某个party上要搞一个抽奖环节。
具体安排为当天23:00 ~ 23:59还在场的朋友每人一个礼物 每个人另外有3次抽奖机会 发朋友圈的还能再获得1次抽奖机会已经抽到一等奖的不能再获得二等奖和三等奖 中奖概率按照预估概率进行计算 如果已中奖数量达到上限必须停止抽奖。
根据这些设计的并发测试场景 ①当天时间23:00 ~ 23:59给在场每个人一份礼物 ②在场每个人有3次抽奖机会 ③高调发朋友圈可以再来一次抽奖机会 ④已获得一等奖的不能再获得二等奖和三等奖 ⑤中奖概率按预估概率进行设定 ⑥已中奖数量达到奖品数量上限该奖项停止。
在这个场景中先分析测试对象分别有活动时间、抽奖次数、中奖概率、奖品数量上限、中奖规则。
那么设计的并发测试用例覆盖点为
①测试活动不在活动时间范围内也能参与抽奖 ②抽奖次数未分享朋友圈炫耀的抽奖次数超过3次 ③抽奖次数朋友圈高调炫耀的抽奖次数超过1次 ④中奖概率设置中奖概率有效的小数位数 ⑤简化数量上限奖项数量上限控制 ⑥中奖规则已中一等奖是否还能中二等奖、三等奖。
2、压力并发的问题
由压力负载而导致的并发问题可以归类于性能问题今天我要说一些数据库事务的隔离级别。
隔离级别有4个由低到高依次如下
1Read uncommitted
未授权读取、读未提交即事务B读取到了事务A未提交的数据。
如果一个事务已经开始写数据则另外一个事务不允许同时进行写操作但允许其他事务读此行数据。该隔离级别可以通过排他写锁实现。
该隔离级别避免了更新丢失却可能出现脏读。
2Read comitted
授权读取读提交即事务A先读取了数据事务B紧接着更新了数据并提及了事务而事务A再次读取该数据时数据已经发生了改变。
读取数据的事务允许其他事务继续访问该行数据但是未提交的写事务将会禁止其他事务访问该行。该隔离级别避免了脏读但是却可能出现不可重复读。
3Repeatable read
可重复读取读取数据的事务将会禁止写事务写事务则禁止任何其他事务。 该隔离级别避免了不可重复读取和脏读但是有时可能出现幻读。这可以通过共享读锁和排他写锁实现。
4Serializable
序列化提供严格的事务隔离。它要求事务序列化执行事务只能一个接着一个执行但不能并发执行。
如果仅仅通过行级锁是无法实现事务序列化的必须通过其他机制保证新插入的数据不会被刚刚执行查询操作的事务访问到。
序列表是最高的事务隔离级别同时代价也花费最高性能最低一般很少使用。在该级别下事务都会乖乖的顺序执行不仅避免脏读、不可重复读还避免了幻读。
3、脏读
一个事物读取到了另一个事务未提交的数据操作结果。
更新丢失 更新丢失包含以下两种情况
回滚丢失当2个事务更新相同的数据源时如果第一个事务被提交而另外一个事务却被撤销那么会连同第一个事务所做的更新也被撤销即第一个事务做的更新丢失了。
覆盖丢失当2个或多个事务查询同样的记录然后各自会以最初的查询结果更新该行时会造成覆盖丢失因为每个事务都不知道其他事务的存在最后一个事务对记录做的修改将会覆盖其他事务对该记录做的已提交的更新。
不可重复读 Non-repeatable Reads一个事务对同一行数据重复读取2次但是却得到不同的结果包括以下情况。
虚读事务R1读取某一数据后事务R2对其做了修改当事务R1再次读取该数据时得到不同的值。
幻读事务在操作过程中进行两次查询第二次查询的结果包含了第一次查询中未出现的数据或者取消了第一次查询中出现的数据不要求两次查询的sql语句相同。这是由在两次查询过程中由另外一个事务插入数据造成的。
通常的数据库设置默认隔离级别为Read committed授权读取、读提交。
4、异常数据干扰并发的问题
对于这类情况的异常数据测试也可以称之为系统健壮性测试。
测试重点是要根据业务逻辑或系统相关的配置情况构建能够造成异常的测试数据要求这些数据不能被当做正常数据处理也不能影响其他正常数据。
例如测试人员构建测试场景为不断触发定时批处理任务如果码农在代码中忽视对异常数据逻辑处理就会造成数据库连接池饱满、内存溢出、遇到异常数据直接报错中断待执行任务队列越来越多等问题。
此类并发测试关注点不是同步并发而是逐步加压的并发数量。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图
一、Python编程入门到精通 二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具 八、JMeter性能测试 九、总结尾部小惊喜
生活中充满了选择和挑战而每一次的选择都会影响你的未来。因此请认真对待每一个决定勇敢面对挑战让自己的人生不留遗憾
每个人都有可能成为自己想要成为的人只是需要付出足够的努力和时间。因此请相信自己的能力勇敢追求梦想用行动去证明你的价值让世界因你而不同
人生就像一场马拉松不在乎起点有多高只在乎终点是否达到。因此请坚持不懈地奔跑用毅力和勇气去实现自己的梦想让生活因你而精彩