面试问题整理若干

一. 数据库测试时关注的要点

1.数据库连接测试:确保数据库可以正常连接,并且连接稳定。

2.数据库结构测试:验证数据库的结构设计是否符合需求,包括表、字段、索引等的设计。

3.数据库数据测试:验证数据库中的数据是否准确、完整,并且符合业务规则。

4.数据库性能测试:测试数据库的读写性能,包括查询速度、插入速度、更新速度等。

5.数据库安全测试:验证数据库的安全策略是否有效,包括用户权限管理、数据加密等。

6.数据库并发测试:模拟多个用户同时访问数据库的情况,测试数据库的并发处理能力。

7.数据库兼容性测试:验证数据库是否可以在不同的操作系统、硬件环境下正常运行。

8.数据库恢复性测试:验证数据库的备份和恢复机制是否有效,确保在发生故障时可以快速恢复数 据。

9.数据库压力测试:通过模拟大量数据访问和操作的场景,测试数据库的负载能力和稳定性。

10.数据库事务处理测试:验证数据库的事务处理机制是否正确,确保数据的完整性和一致性。

二. 如何开展软件测试中的逆向测试

1.确定测试目标:明确要测试的系统或软件的功能和特性。

2.设计测试用例:根据测试目标和系统架构,设计逆向测试用例。

3.制定测试计划:制定测试计划,包括测试场景、测试用例、测试环境和测试数据。测试场景应该模拟攻击者可能采取的各种方法,例如尝试未经授权的访问、注入恶意代码、篡改数据等。

4.执行测试:根据测试计划执行测试,并记录测试结果和发现的漏洞。

5.分析和整理测试结果:对测试结果进行分析和整理,以确定哪些漏洞需要修复和如何修复它们。

提供测试报告:汇总测试结果并生成测试报告,包括发现的漏洞、建议的解决方案和测试过程中的所有细节。

三. 常用的接口测试方法,接口测试质量评估标准是什么

功能测试:验证接口是否按照设计要求正常工作,是否能够正确地处理输入和输出数据。

性能测试:测试接口的响应时间、吞吐量、并发性等性能指标是否符合要求。

安全测试:测试接口是否具有足够的安全性,是否能够防止未经授权的访问和攻击。

可靠性测试:测试接口是否具有足够的可靠性,是否能够处理异常情况和错误输入。

可维护性测试:测试接口是否易于维护和修改,是否具有良好的文档和注释。

接口测试质量评估标准包括以下几个方面:

准确性:测试结果是否准确反映了接口的实际表现。

完整性:测试是否覆盖了接口的所有功能和场景。

一致性:测试结果是否与预期结果一致。

可重复性:测试是否可以在相同条件下重复进行,并得到相同的结果。

及时性:测试是否在规定的时间内完成。

易用性:测试工具或测试环境是否易于使用。

可靠性:测试结果是否稳定可靠,是否存在误报或漏报的情况。

可维护性:测试用例和测试环境是否易于维护和更新。

可扩展性:测试框架和测试用例是否易于扩展和适应新的需求变化。

性能测试中线程和进程测试有什么区别,LoadRunner和Jmeter分别使用什么进行加压

性能测试中线程和进程测试的主要区别如下:

独立性:进程是独立运行的,而线程是在进程内部运行的。一个线程只能属于一个进程,但一个进程可以拥有多个线程。

资源占用:线程作为调度和分配的基本单位,而进程作为拥有资源的基本单位。进程会分配独立的地址空间,不同进程之间不共享地址空间,即不共享内存。而同一进程下的不同线程共享该进程的地址空间。

稳定性:由于进程互相独立,所以一个进程的崩溃不会影响其他进程,这有助于保持主程序的稳定性。而线程之间需要协作同步,不同进程的线程间要利用消息的办法实现同步。

开销和处理方式:多进程调度开销较大,而多线程方式消耗的总资源比多进程方式少。线程方式可以尽量减少线程加锁与解锁的影响,从而极大地提高了性能。

LoadRunner和Jmeter在加压方面的应用:

LoadRunner首先通过虚拟用户脚本生成器生成基于协议的虚拟用户脚本,然后根据性能测试场景设计的需求,通过压力控制器控制协调各个压力产生器以并发的方式执行虚拟用户脚本。

Jmeter通过下载引入 plugins-manager.jar 工具进行梯度加压

五.列表 list33 = [1,2,3,4,5,6,7,8,9] 切片: list33[-1:2:-1] 输出结果:

9, 8, 7, 6, 5, 4

六.linux系统中buffer和cache均是做什么的,内存占用有大量的buffer和cache是异常情况吗

Buffer:是原始磁盘块的临时存储,即将缓存数据写入磁盘。它通常不会很大(大约 20MB)。这样,内核就可以将分散的写入集中起来,从而对磁盘写入进行统一优化。例如,多个小的写入可以合并为一个大的写入等。

Cache:是用于从磁盘读取文件的页面缓存,用于缓存从文件中读取的数据。这样,下次访问这些文件数据时,可以直接从内存中快速取回,而无需再次访问缓慢的磁盘。

内存占用有大量的Buffer和Cache不一定是异常情况。缓存占用的大小会根据系统的负载和可用内存而变化。当系统有足够的可用内存时,内核会增加缓存的大小以提高性能。当内存紧张时,内核会回收部分缓存以释放内存供其他进程使用。

七. APP冷启动和热启动的命令

冷启动命令:adb shell am start -W packageName/ActivityName。这个命令会启动指定的应用程序,并返回启动时间等相关信息。

热启动命令:按back按键后再启动adb命令。具体操作步骤是先按back键将当前应用退到后台运行,然后再通过adb命令重新启动该应用。

八. 接口测试中依赖登录状态的接口如何测试

使用jmeter的接口测试,一般登录接口 登录成功后返回token,(1)登录成功后response 里边会返回token (2)获取返回的token(JSON Path Extractor ),存为全局变量 (3)在需要token的地方,直接使用 ${token}

  • 针对鉴权接口如何实现接口自动化

发送登录的请求获取鉴权的token或者session(rs.json()["data"]["token"])

鉴权的接口将发送请求测试时将token作为参数传入

  • 十.if(a>6 && b<0) 满足条件组合覆盖,需要设计多少测试用例,请罗列

为了满足条件组合覆盖,我们需要考虑所有可能的条件组合。给定的条件是 a > 6 和 b < 0,这两个条件可以是真或假,所以总共有 2^2 = 4 种可能的组合。

以下是这4种组合的测试用例:

1.a > 6 为真,b < 0 为真

测试用例:a = 7, b = -1

预期结果:条件满足

2.a > 6 为真,b < 0 为假

测试用例:a = 7, b = 1

预期结果:条件不满足

3.a > 6 为假,b < 0 为真

测试用例:a = 5, b = -1

预期结果:条件不满足

4.a > 6 为假,b < 0 为假

测试用例:a = 5, b = 1

预期结果:条件不满足

相关推荐
进击的野人24 分钟前
CSS选择器与层叠机制
css·面试
T___T3 小时前
全方位解释 JavaScript 执行机制(从底层到实战)
前端·面试
9号达人3 小时前
普通公司对账系统的现实困境与解决方案
java·后端·面试
程序员杰哥3 小时前
软件测试之压力测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
勤劳打代码4 小时前
条分缕析 —— 通过 Demo 深入浅出 Provider 原理
flutter·面试·dart
努力学算法的蒟蒻4 小时前
day10(11.7)——leetcode面试经典150
面试
进击的野人5 小时前
JavaScript 中的数组映射方法与面向对象特性深度解析
javascript·面试
南山安5 小时前
以腾讯面试题深度剖析JavaScript:从数组map方法到面向对象本质
javascript·面试
橘颂TA6 小时前
【剑斩OFFER】算法的暴力美学——二分查找
算法·leetcode·面试·职场和发展·c/c++
吃着火锅x唱着歌15 小时前
LeetCode 1128.等价多米诺骨牌对的数量
算法·leetcode·职场和发展