软件测试面试之工具部分
1. SVN 的基本操作有哪些
服务器端:
1)、使用工具:VisualsVN
2)、配置服务器:传输协议(HTTP/HTTPS)、访问端口(443)
3)、仓库管理:建立仓库、规划目录结构(Trunk、Branches、Tags)、分配权限
客户端:
1)、使用工具:TortoiseSVN(集成了 subversion)
2)、访问仓库常用命令:Checkout、commit、Update
3)、版本日志管理:查看历史版本、回退到历史版本4)、其他:解决提交冲突、熟悉锁机制(加锁、解锁、偷锁)、软件发布版本控制
2.描述 OC 工具的主要功能
后台站点管理:
1)、管理数据库的JDBC连接,支持 SQL 和 Oracle 数据库
2)、用户管理和项目管理(建立、激活、导入、导出等)
前台项目管理:
1)、版本周期管理,依据版本发布计划规划测试的响应周期
2)、测试需求管理,维护测试需求,进行需求分析(覆盖率分析、优先级分析等)
3)、测试用例管理,维护测试用例,制定模板用例,跟踪需求
4)、测试执行管理,规划执行的周期和执行策略,运行用例,分析执行结果
5)、提交缺陷管理,维护缺陷跟踪,进行缺陷分析
项目定制管理:
1)、项目权限设置,可以依次控制模块、操作、字段、取值、所有者等权限
2)、项目实体管理,定制项目字段,增加分析维度
3)、项目列表管理,管理和维护项目中的列表项(数据字典)
3. QTP 和 LR 的区别
QTP和LR是两种不同的测试工具,用于不同的测试目的。
QTP(Quick Test Professional)是一种功能强大的自动化测试工具,主要用于功能测试和回归测试。它可以模拟用户操作,自动录制和回放测试脚本,并提供丰富的脚本编辑和调试功能。QTP可以与多种技术和平台集成,包括Web应用程序、桌面应用程序和移动应用程序。它支持VBScript脚本语言,并提供丰富的对象库和内建的关键字功能,方便用户进行测试脚本的编写和维护。QTP还提供强大的报告和结果分析功能,方便用户查看和分析测试结果。
LR(LoadRunner)是一种专业的性能测试工具,主要用于负载测试和压力测试。它可以模拟多个用户同时访问系统,通过监控系统的性能指标和资源使用情况,评估系统在不同负载下的性能情况。LR支持多种协议和技术,包括Web、数据库、消息队列等,并提供丰富的脚本录制和回放功能,方便用户编写和执行性能测试脚本。LR还提供了丰富的报告和分析功能,包括负载测试结果、性能指标、系统资源使用情况等,方便用户进行性能分析和优化。
总结来说,QTP主要用于功能测试和回归测试,LR主要用于性能测试。它们的目标不同,功能也有所区别。使用时要根据具体的测试需求选择合适的工具。
4.QTP 对象库的作用
QTP(Quick Test Professional)是一种自动化测试工具,用于测试软件应用程序的功能和性能。对象库是QTP中的一个关键概念,它用于存储测试对象的属性和方法,以便在测试过程中对这些对象进行操作。
对象库的作用是:
-
存储测试对象的属性和方法:对象库中存储了要测试的应用程序中的所有对象的属性和方法,包括窗口、按钮、文本框等。这些属性和方法可以被测试脚本调用,以实现对应用程序的操作和验证。
-
提供对象识别和定位:对象库中的对象可以通过属性值进行识别和定位,从而在测试过程中正确地找到和操作这些对象。对象库提供了对象的唯一标识符,如对象名称、对象类型、对象属性等,以帮助QTP准确定位和操作测试对象。
-
提高测试效率:对象库可以在多个测试用例之间共享,减少了测试脚本的编写和维护工作。通过在对象库中定义对象一次,就可以在多个测试脚本中重复使用,并且可以在需要时进行修改和更新。
-
支持关键字驱动测试:对象库可以与QTP中的关键字驱动框架结合使用,通过定义和管理关键字库,使测试脚本更具可读性和可维护性。关键字库中包含了一系列高级操作和功能,可以直接在测试脚本中调用,从而简化测试脚本的编写和管理。
总之,QTP对象库的作用是管理和存储测试对象的属性和方法,实现测试对象的识别、定位和操作。它提供了一种高效的方式来编写和管理测试脚本,提高了自动化测试的效率和准确性。
5. QTP 检查点和参数化的作用
QTP(QuickTest Professional)是一种自动化测试工具,用于功能和回归测试。检查点和参数化是QTP中两个重要的概念和功能。
-
检查点(Checkpoints):检查点是用于验证应用程序在运行时是否符合预期的功能。它用于比较应用程序的实际结果和预期结果,并生成测试结果。QTP提供了多种类型的检查点,包括文本、对象、数据库、表格、图像和网页等类型的检查点。检查点可以帮助测试人员验证应用程序是否正确运行,并且可以检测到潜在的错误和问题。
-
参数化(Parameterization):参数化是一种将固定的测试数据替换为可变或动态的测试数据的方法。在测试中,可能需要对同一测试用例使用不同的输入数据进行多次运行,以验证应用程序在不同情况下的行为。参数化允许测试人员使用多个数据源,如数据表、Excel文件或其他测试文件,替代测试脚本中的硬编码值。通过参数化,可以轻松地对测试脚本进行批量测试,并且可以灵活地修改和更新测试数据。
总结来说,检查点用于验证应用程序的功能是否符合预期,而参数化用于替换测试数据以进行多次运行。这两个功能都是自动化测试过程中常用的工具,可以帮助测试人员提高测试效率和准确性。
6.LR 检查点和参数化的作用
在机器学习中,LR(逻辑回归)是一种用于分类问题的线性模型。LR模型通过训练数据学习到的权重参数来进行预测。检查点和参数化在训练和使用LR模型时有着不同的作用。
-
检查点(Checkpoints):检查点是在模型训练过程中保存模型的一种机制。在训练过程中,模型的权重参数会不断地更新,而检查点可以用来保存模型在训练过程中的某个特定时间点的权重参数,以便在需要时恢复模型的状态。这在模型训练过程中非常有用,因为如果训练过程被中断,我们可以从最近保存的检查点开始继续训练,而不需要重新开始。
-
参数化(Parameterization):参数化指的是将模型中的某些重要参数用变量来表示,以便在训练和预测过程中可以根据需求进行调整。在LR模型中,参数化通常指的是将模型的权重参数表示为一个向量,而不是一个固定的值。这样可以通过训练来学习到最优的权重参数,并且在预测时可以根据输入的特征向量计算出类别的概率。
总的来说,检查点和参数化在LR模型中的作用如下:
- 检查点可以保存模型的中间状态,以便在训练过程中进行断点续训。
- 参数化使得模型的权重参数可以根据训练和预测的需求来进行调整。
7.LR 集合点的作用及设置
LR集合点是语法分析中的重要概念,它的作用是在语法分析过程中确定推导的方向以及进行语法错误的处理。LR集合点是通过对语法规则进行扩展和归约操作得到的,每个LR集合点都对应了一个状态,在状态中包含了一个活前缀和一个文法规则。
LR集合点的设置可以通过以下步骤进行:
-
构造初始的LR集合点:初始的LR集合点是通过将文法的开始符号作为活前缀,将文法规则加入到集合点中得到的。
-
扩展集合点:对于每个LR集合点,遍历其中的活前缀,找到其可以推导出的下一个符号,将这个符号加入到集合点中,并将其对应的文法规则加入到集合点中。
-
归约集合点:对于每个LR集合点,检查其中的活前缀是否可以进行归约操作。如果可以进行归约操作,则将相应的文法规则进行归约,并将归约后的非终结符加入到集合点中。
-
重复扩展和归约操作:重复步骤2和步骤3,直到集合点不再发生变化。
通过构建LR集合点,可以得到一个完整的语法分析表,可以根据语法分析表进行语法分析并进行适当的错误处理。
8.LR 监控性能的指标你知道哪些
在机器学习领域中,监控模型性能的指标有很多。以下是一些常见的指标:
-
准确率(Accuracy):分类问题中,正确预测的样本数占总样本数的比例。
-
精确率(Precision):分类问题中,被正确预测为正类的样本数占所有被预测为正类的样本数的比例。
-
召回率(Recall):分类问题中,被正确预测为正类的样本数占实际正类样本数的比例。
-
F1值(F1-score):精确率和召回率的调和平均值,用于综合考虑两者的指标。
-
ROC曲线(Receiver Operating Characteristic curve):用于二分类问题中,绘制灵敏度(即召回率)对1-特异度(即被错误分类为负类的样本数占所有实际负类样本数的比例)的曲线。
-
AUC(Area Under the Curve):ROC曲线下的面积,可用作评估模型性能的指标。
-
平均绝对误差(Mean Absolute Error,MAE):回归问题中,预测值和真实值之间的平均绝对差值。
-
均方误差(Mean Squared Error,MSE):回归问题中,预测值和真实值之间的平均平方差值。
-
R平方(R-squared):回归问题中,模型解释方差的比例,可用于评估模型的拟合程度。
-
对数损失(Logarithmic Loss):用于评估概率预测模型的性能指标。
这些指标可以根据具体问题和需求来选择和应用。
9.你知道的自动化测试的工具有哪些
常见的自动化测试工具有:
-
Selenium:用于Web应用程序的自动化测试工具,支持多种浏览器和多种编程语言。
-
Appium:用于移动应用程序的自动化测试工具,支持iOS和Android平台。
-
TestComplete:综合性的自动化测试工具,支持Web、桌面和移动应用程序的自动化测试。
-
JUnit:用于Java应用程序的单元测试框架。
-
TestNG:用于Java应用程序的测试框架,支持并发测试、数据驱动测试等特性。
-
Cucumber:行为驱动开发(BDD)框架,支持测试用例的自然语言描述。
-
JMeter:用于性能测试和负载测试的工具。
-
LoadRunner:企业级负载测试工具,支持多种协议和技术。
-
SoapUI:用于Web服务测试的开源工具。
-
Postman:用于API测试的工具,支持发送HTTP请求和验证响应。
当然,以上只是一些常见的自动化测试工具,还有很多其他的工具可根据具体需求选择。
10.你知道的性能测试的工具有哪些
性能测试是评估系统或应用程序的性能和稳定性的过程。以下是一些常见的性能测试工具:
-
Apache JMeter:JMeter是一个开源的Java程序,用于执行各种负载类型的性能测试。它可以模拟多种协议和应用程序,包括HTTP、FTP、JDBC、SOAP等。
-
LoadRunner:LoadRunner是一个功能强大的性能测试工具,可以模拟大量用户和负载情况来评估系统的性能。它支持多种协议,并提供了广泛的监控和分析功能。
-
Gatling:Gatling是一个开源的高性能负载测试工具,使用Scala语言编写。它可以模拟大量并发用户,并提供实时监控和报告。
-
Locust:Locust是一个开源的Python性能测试工具,可以通过编写简单的脚本来定义用户行为和负载测试。它支持分布式测试,并提供实时监控和报告。
-
WebLOAD:WebLOAD是一个功能强大的性能测试工具,支持多种协议和应用程序。它具有直观的用户界面和强大的脚本录制和回放功能。
-
ApacheBench:ApacheBench是一个简单而有效的性能测试工具,可以用来测试HTTP服务器的性能。它是Apache HTTP Server的一部分,可用于执行基准测试。
-
Tsung:Tsung是一个开源的多协议分布式性能测试工具,支持模拟大量并发用户。它可以模拟HTTP、WebDAV、SOAP、PostgreSQL等协议。
这只是一小部分常见的性能测试工具,还有许多其他工具可供选择,具体选择取决于测试需求和预算。
11.你知道的缺陷管理工具有哪些
一些常用的缺陷管理工具包括:
- JIRA:一款功能强大的项目管理工具,可以用于缺陷跟踪和管理。
- Bugzilla:一个开源的缺陷跟踪系统,提供了丰富的功能和定制选项。
- Redmine:一款开源的项目管理工具,可以用于缺陷管理和跟踪。
- Trello:一款灵活的项目管理工具,可以用于缺陷管理和任务追踪。
- GitHub Issues:GitHub的缺陷跟踪功能,适用于开源项目和团队合作。
- Mantis:一个简单易用的开源缺陷跟踪系统,提供了丰富的报告和统计功能。
- YouTrack:一款专业的缺陷管理工具,提供了强大的搜索和过滤功能。
- TestRail:一个专注于测试管理的工具,可以用于缺陷管理和测试报告。
- HP ALM (Application Lifecycle Management):一款全面的应用生命周期管理工具,包括缺陷管理和测试管理功能。
- Microsoft Team Foundation Server:微软的一款全面的应用开发和团队协作工具,包括缺陷管理和版本控制功能。
这些工具都有各自的优缺点,选择适合自己团队需求的工具是很重要的。
12.你知道的单元测试工具有哪些
一些常见的单元测试工具包括:
- JUnit:Java最常用的单元测试框架之一,支持编写和运行单元测试用例。
- NUnit:.NET平台上的单元测试框架,用于测试C#和VB.NET代码。
- PHPUnit:PHP的单元测试框架,用于测试PHP代码。
- Mocha:JavaScript和Node.js的单元测试框架,支持异步测试和浏览器测试。
- Pytest:Python的单元测试框架,提供简洁和灵活的API。
- Jasmine:JavaScript的BDD(行为驱动开发)测试框架,可用于测试浏览器和Node.js中的代码。
- Mockito:Java的模拟框架,用于创建和验证模拟对象。
- Cypress:JavaScript的端到端测试框架,可用于测试Web应用程序。
- Karma:JavaScript的测试运行器,支持在不同浏览器和平台上运行测试。
- Robot Framework:Python的通用自动化测试框架,支持关键字驱动的测试。

浙公网安备 33010602011771号