软件测试常问问题

1.fiddler抓包过程是什么?抓包的目的是什么?

抓APP包,需要在APP上设置代理,设置网络也就是WiFi设置的地方,设置的代理地址也就是fiddler上面的IP地址,(查找本机IP地址,cmd进入黑窗口,即命令行窗口,ipconfig查看本机地址),需要下载证书,把地址和端口号输进去,下载地址后fiddler就可以抓包了,下载的证书就是安全的HTTPS协议会涉及到的ca证书,其他的http协议是不需要的;

抓包的目的是判断接口错误是前端错误还是后端错误;

2.测试人员参加需求评审会议一般做什么事情?

需求评审有两个目的,一个是自己要理解需求,二是希望我们开发、产品和测试能够对需求的理解达到一致,也避免后续问题的出现。

3.公司的测试流程?

首先产品经理和开发、测试人员开需求分析会议,根据需求规格说明书文档,了解项目需求,其次项目经理分配任务,创建测试计划,谁负责哪些模块,测试时长,测试人员编写测试用例文档,并进行用例评审,等待开发人员提交测试版本,搭建测试环境,按照审核过的测试用例进行系统测试,先冒烟测试,看是否阻碍主流程的测试,再进行2-3轮的系统测试,并同时将bug同步到禅道,开发人员也及时更新bug解决情况,最后再回归测试,测试完成后测试人员写项目操作手册和测试报告文档交付客户,客户有需求可进行项目培训指导。最后发布上线,同步也要跟踪线上问题。

4.测试报告主要包含有哪些内容呢?

分析项目测试用例的覆盖率,bug执行情况,bug分布情况和bug遗留情况,总结项目执行过程中的问题,能达到下一个项目更好的目的

5.在Linux系统上,如何搭建测试环境?

我们在Linux的云服务器上搭建这个测试环境,一般云服务器上基础配置是已经配置好的,如果是全新的,需要先完成基础配置;

例如项目容器是Tomcat,部署Tomcat,需要安装JDK和配置JDK的环境变量;

项目数据库是MySQL,需要安装MySQL,安装好后开发会提测,提供项目war包,数据库初始化脚本还有一些数据库的配置文件,把war包放到Tomcat的webapps目录下,然后把数据库的配置文件配置好,将项目和数据库关联上,以及初始化一下开发给的sql脚本,创建好数据库表,重启一下Tomcat服务器,完成部署。

6.面试时怎样自我介绍?

名字,工作几年,做过几个项目,最近做的项目,web项目或APP项目,测试中用到的工具,jmeter,fiddler等,最后再说个人特点。

7.Linux常用的命令有哪些?技术回答

我们在测试过程中,有些错误需要在后台查看日志,需要用到tail   -f  命令去查看一下报错日志,分析一下问题是什么,避免说些太简单的

8.用什么命令查看以.log为结尾的文件?

find . -name "*.log"

   在当前目录下查找以.log结果的文件 “.”:代表当前目录

9.SQL语句查询,每个班里分数最高的学生

查询语句:

SELECT s.studentname,s.classid ,SUM(score)
FROM student s
JOIN scores ON s.studentid = scores.studentid
GROUP BY s.studentid, s.classid
 ORDER BY score DESC
 LIMIT 1;

这个查询语句使用了JOIN操作将学生表和成绩表关联起来,通过学生ID进行匹配。然后使用GROUP BY子句按班级对学生进行分组,并使用SUM函数计算每个学生的总成绩。最后,使用ORDER BY子句按总成绩降序排列,并使用LIMIT 1限制结果只返回每班分数最高的学生。查询结果将包括学生的姓名、班级和总成绩。

10.adb的三个组件是哪些?

adb client,可以对安卓APP进行安装、卸载和调试;

运行在PC上的客户端,用于发送命令。

adb  service,管理客户端到安卓设备上,adb后台进程的连接,负责管理client和daemon之间的通信;

运行在PC上的服务端,用于管理客户端与守护程序之间的通信。

adb daemon ,运行在安卓设备的后台进程;

运行在模拟器实例或设备实例上的守护进程,用于响应用户发来的指令。

11.jmeter怎么做接口测试?又如何判断接口测试是否测试通过?

JMeter是一款开源的、基于Java的压力测试工具,可以用于进行接口测试。

以下是使用JMeter进行接口测试的步骤:

  1. 启动JMeter,创建一个新的测试计划或打开一个现有的测试计划。
  2. 在测试计划中,右键点击“添加”->“线程组”,创建一个线程组。线程组是模拟用户并发请求的组件。
  3. 在线程组中,右键点击“添加”->“取样器”->“HTTP请求”,创建一个HTTP请求。在HTTP请求中,填写要测试的接口的URL、请求方法(GET、POST等)、请求参数等信息。
  4. 根据需要,可以添加断言来验证接口的响应结果是否符合预期。例如,可以使用“响应断言”来检查响应状态码是否为200,或者使用“正则表达式断言”来检查响应内容是否符合特定的正则表达式模式。
  5. 运行测试计划,JMeter会模拟多个用户并发访问指定的接口,并记录各种性能指标,如响应时间、吞吐量等。
  6. 分析测试结果,检查接口是否正常工作。如果所有测试用例都通过,并且性能指标符合预期,则可以认为接口测试通过。

以上步骤仅为简要介绍,JMeter还有许多高级功能和用法,具体可以参考JMeter官方文档或相关教程。

关于如何判断接口测试是否测试通过,主要依据以下几个方面:

  1. 功能性:接口是否正常工作,返回的数据是否符合预期。可以通过断言(如响应断言、正则表达式断言等)来验证返回的数据。
  2. 性能性:接口的响应时间、吞吐量、错误率等性能指标是否符合要求。可以通过JMeter的图表和报告来查看性能指标。
  3. 稳定性:在长时间和高负载的情况下,接口是否能够保持稳定的性能表现。可以通过运行长时间的压力测试来检查接口的稳定性。
  4. 安全性:接口的安全性也需要考虑,例如是否容易受到常见的安全攻击(如SQL注入、跨站脚本攻击等)。需要对接口进行安全性的测试和评估。

综上所述,判断接口测试是否通过需要综合考虑以上多个方面,确保接口在功能、性能、稳定性和安全性等方面都能够满足要求。

12.数据库的索引作用是什么?

数据库的索引的作用主要是加快数据检索速度,提高查询效率。在数据库中,索引是一个单独的、物理的数据结构,它对数据库表中一列或多列的值进行排序,从而使得数据库系统能更快地查找数据。

具体来说,索引有以下作用:

  1. 加快数据检索速度:这是索引最直接的作用。通过索引,数据库系统可以更快地定位到所需的数据行,从而加快查询速度。
  2. 提高查询效率:对于复杂的查询条件,使用索引可以大大减少数据库系统需要扫描的数据量,从而提高查询效率。
  3. 保证数据的唯一性:如果索引的列具有唯一性,那么索引可以保证数据的唯一性,从而避免重复的数据记录。
  4. 实现表与表之间的连接:在连接查询中,索引可以加快连接速度,提高查询效率。

需要注意的是,虽然索引可以提高查询效率,但是它也会占用存储空间,并且会降低数据插入、更新和删除的速度,因为在进行这些操作时,索引也需要随之更新。因此,在创建索引时需要权衡利弊,根据实际应用的需要来决定是否创建索引。

13.Linux常用命令有哪些/

Linux中常用的命令有很多,以下是一些常用的命令:

  1. ls:列出目录中的文件和子目录。
  2. cd:改变当前工作目录。
  3. pwd:打印当前工作目录的路径。
  4. mkdir:创建新的目录。
  5. rm:删除文件和目录。
  6. cp:复制文件和目录。
  7. mv:移动文件和目录,也可以用于重命名文件和目录。
  8. cat:查看文件的内容。
  9. grep:搜索文件中的文本行。
  10. chmod:更改文件和目录的权限。
  11. chown:更改文件或目录的所有者和组。
  12. ps:显示当前进程的状态。
  13. kill:终止进程。
  14. tar:归档工具,常用于打包和解包文件。
  15. gzip/gunzip:压缩和解压缩文件。
  16. grep:在文件中查找特定模式。
  17. find:查找文件或目录。
  18. awk:文本分析工具,可以用于数据抽取、报告生成等。
  19. sed:流编辑器,可以用于文本处理。
  20. grep:在文件中查找文本模式,并显示匹配行。
  21. echo:显示消息或输出到文件。
  22. ifconfig/ip:显示和配置网络接口。
  23. netstat:显示网络连接、路由表、接口统计等网络相关信息。
  24. df/du:显示磁盘空间使用情况。
  25. top/htop:显示系统状态和活动进程的动态视图。
  26. nano/vi/vim:文本编辑器,用于编辑命令行中的文本或脚本。
  27. sudo:以其他用户(通常是超级用户)的身份执行命令。
  28. reboot/shutdown:重启或关闭计算机。
  29. tar:用于打包和解包文件,常用于备份操作。
  30. gzip/gunzip:用于压缩和解压缩文件,以节省存储空间。
  31. find:查找文件或目录,可以根据名称、大小、修改时间等进行搜索。
  32. grep:在文件中查找特定模式,并显示匹配行,常用于文本搜索和过滤。
  33. sed:流编辑器,用于对输入流(文件或管道)进行基本的文本转换。
  34. awk:强大的文本分析工具,可以用于数据抽取、报告生成等任务。
  35. sort:对文本行进行排序,常用于数字和字母排序。
  36. cut:从文本行中剪切列,常用于处理文本数据。
  37. wc:计算行数、字数和字节数等统计信息,常用于文本分析和处理。

14.jmeter中断言如何实现?

Apache JMeter 是一个开源的、基于 Java 的性能测试工具,用于对 Web 应用程序进行负载测试和性能测试。在 JMeter 中,断言(Assertion)用于验证测试结果是否符合预期。

以下是在 JMeter 中实现断言的步骤:

  1. 打开 JMeter,创建一个新的测试计划或打开一个现有的测试计划。
  2. 在测试计划中,右键点击“添加”->“采样器”->“HTTP 请求”,创建一个 HTTP 请求。在 HTTP 请求中,填写要测试的接口的 URL、请求方法(GET、POST 等)、请求参数等信息。
  3. 在 HTTP 请求中,右键点击“添加”->“断言”->“响应断言”,添加一个响应断言。响应断言用于验证 HTTP 响应的状态码、响应头、响应体等信息是否符合预期。
  4. 在响应断言中,可以选择要验证的条件,例如状态码是否为 200、响应头中的某个字段是否等于预期值等。根据需要设置断言条件,并添加相应的正则表达式或值。
  5. 运行测试计划,JMeter 会模拟用户访问指定的接口,并收集测试结果。
  6. 在测试结果中,可以通过断言的结果来检查接口是否正常工作。如果断言结果为失败(Fail),则说明测试结果不符合预期;如果断言结果为成功(Success),则说明测试结果符合预期。

除了响应断言外,JMeter 还提供了其他类型的断言,例如参数化断言、XML 断言等,可以根据具体需求选择适合的断言类型。

15.APP弱网测试需要注意哪些问题?

APP弱网测试主要关注的问题包括但不限于:

  1. 网络状态识别:在弱网环境下,APP是否能够正确识别当前的网络状态,如2G、3G、4G、WiFi等。
  2. 页面响应时间:弱网环境下,APP的页面加载时间、内容渲染时间等是否在可接受的范围内。
  3. 数据传输效率:在弱网环境下,APP是否能够高效地传输数据,避免不必要的重复传输或丢失数据。
  4. 错误处理与提示:当网络连接断开或不稳定时,APP是否能够给出适当的错误提示,并做出相应的错误处理。
  5. 缓存策略:在弱网环境下,如何合理地利用缓存策略来减少对网络的依赖和请求次数。
  6. 数据同步:弱网环境下,APP是否能够进行有效的数据同步,以保证用户的使用体验。
  7. DNS解析:弱网环境下,DNS解析的准确性和速度是否在可接受的范围内。
  8. 网络切换:在从一种网络环境切换到另一种网络环境时,APP是否能够进行平滑过渡。
  9. 安全策略:弱网环境下,APP的安全策略是否能够保证用户数据的安全。
  10. 用户体验:弱网环境下,APP的使用流畅度、页面加载速度等是否符合用户的期望和需求。

针对以上问题,测试人员可以通过模拟不同的网络环境、使用抓包工具等方法进行深入测试。同时,也需要关注APP在不同操作系统、不同设备上的表现,以确保在不同环境下都能提供良好的用户体验。

16.fiddler抓包的请求过程?

使用Fiddler抓取APP的请求过程如下:

  1. 开启Fiddler:首先,确保已经安装了Fiddler软件,并且已经启动。
  2. 配置Fiddler:在Fiddler中,选择“Tools”菜单,然后选择“Fiddler Options”。在“Connections”标签页中,勾选“Allow remote computers to connect”选项,并记住端口号(默认为8888)。
  3. 开启HTTPS请求解码:在Fiddler中,选择“Rules”菜单,然后选择“Customize Rules”。在打开的自定义规则文件中,找到“OnBeforeCommand”方法,并添加以下代码:if (oSession.oFlags["https"] == "https") { oSession["request-triggers"] = "?"; }。
  4. 关闭防火墙:如果电脑上安装了防火墙,请暂时关闭防火墙,以确保Fiddler可以正常抓取请求。
  5. 配置手机代理:在手机上设置代理为Fiddler所在的IP地址和端口号(默认为8888)。具体设置方法因手机品牌和型号而异,可以在手机设置中查找“代理”或“网络设置”进行配置。
  6. 运行APP:运行需要抓取的APP,确保其在Fiddler所在的网络环境下运行。
  7. 抓取请求:在Fiddler中,可以看到APP发送的所有请求。可以通过点击“Inspectors”菜单中的“Raw”选项查看请求的详细信息。

以上是使用Fiddler抓取APP请求的基本步骤。需要注意的是,如果APP使用了加密的HTTPS协议,Fiddler也可以进行抓取和解析。但在某些情况下,如果APP对网络通信进行了加密或使用了特定的网络通信框架,可能无法完全抓取所有的请求信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值