功能测试面试200问
原文:
https://www.softwaretestinghelp.com/software-testing-interview-questions/#Top_Software_Testing_Interview_Questions
译者:桃子
通过这篇文章,您可以了解到进行软件测试面试的技巧,包括功能测试问题,Web测试问题,ISTQB和CSTE认证问题,以及一些模拟测试以测试您的测试技能。
如果您仔细地阅读所有这些问题,我相信您会轻松地完成所有测试面试。
热门软件测试面试问题
关于这部分内容,每一个问题答案都包含很多内容,这里先列出问题清单,在下篇文章中我回给出答案。
1. 如何为软件测试/质量保证面试做准备?
2. 模拟测试验证你测试技巧
3. 自动化测试面试问题
4. 性能测试,负载测试和压力测试有什么区别?举例说明?
5. QTP面试问题
6. CSTE问题与答案
7. 什么是桌面检查和控制流分析
8. 什么是健全性测试(或构建测试)
9. 什么是黑匣子测试?
10. 什么是白盒测试?
11. 有哪些不同类型的软件测试?
12. 如何为整个测试流程定义标准流程,解释手动测试职业生涯中的挑战性情况,获得加薪的最佳方法是什么?
13. 您在测试期间遇到过的最具挑战性的情况是什么?
14. 没有文件时如何执行测试
流行的Web测试面试问答
顾名思义,Web测试意味着在将Web应用程序移至生产环境之前(即,使任何Web应用程序投入使用之前)对Web应用程序进行任何潜在的错误或问题的测试。
根据Web测试要求,应考虑多种因素。这些因素包括Web应用程序安全性,TCP / IP通信,处理流量的能力,防火墙等。
Web测试的清单中包括功能测试,可用性测试,安全性测试,接口测试,兼容性测试,性能测试等。
我们将介绍最常见的Web测试面试问题和答案,这些问题和答案将指导您为任何Web测试面试做好准备。
以下是最常见的网络测试面试清单。
1. 您对Web应用程序了解什么?
Web应用程序是与客户进行通信和交换信息的一种手段。与操作系统执行的任何桌面应用程序不同,Web应用程序在Web服务器上运行,并由充当客户端的Web浏览器进行访问。
Web应用程序的最佳示例是“ Gmail”。在Gmail中,由单个用户完成的交互完全独立于其他用户。您可以通过电子邮件以及附件发送和接收信息。
您可以在驱动器中维护文档,在Google文档中维护电子表格,并包括更多此类功能,这些功能使用户意识到他们具有针对其特定身份进行了自定义的环境。
2. 如何定义一个Web服务器
Web服务器遵循客户端/服务器模型,其中程序使用HTTP(超文本传输协议)。响应HTTP客户端的请求,Web服务器处理客户端和服务器端验证,并以网页形式将Web内容交付给用户。
我们使用的浏览器,例如Safari,Chrome,Internet Explorer,Firefox等,读取存储在Web服务器上的文件,并通过Internet以图像和文本的形式将信息带给我们。托管网站的任何计算机都必须具有Web服务器。
一些领先的Web服务器是:
阿帕奇
Microsoft的Internet信息服务器(IIS)
Java Web服务器
Google网络服务器
3. 列出一些重要的测试方案来测试网站。
测试网站的GUI(图形用户界面)以检查设计元素和页面布局的一致性。
检查所有页面链接和超链接是否重定向到所需页面。
如果网站上存在任何形式或字段,则测试场景包括使用有效数据进行测试,使用无效数据,使用现有记录进行测试以及使用空记录进行测试。
按照需求规范进行功能测试。
在繁重的负载下测试网站的性能,以确定Web服务器响应时间和数据库查询时间。
进行了兼容性测试,以测试应用程序在不同浏览器和OS(操作系统)组合上的行为。
可用性测试和数据库测试也作为测试方案的一部分进行。
4. 在测试网站时必须考虑哪些不同的配置?
不同的配置包括不同的浏览器以及正在测试网站的操作系统。当我们谈论配置时,也会考虑浏览器插件,文本大小,视频分辨率,颜色深度,浏览器设置选项。
浏览器和操作系统的不同组合用于测试网站的兼容性。通常,包括最新的和最新的版本。这些版本通常在需求文档中指定。
一些重要的浏览器包括:
IE浏览器
火狐
Chrome
苹果浏览器
oPera
一些重要的操作系统包括:
Windows
UNIX
LINUX
MAC
5. Web应用程序测试与桌面应用程序测试是否不同?说明如何
Web应用程序 桌面应用
定义 Web应用程序是可以在任何具有Internet连接的客户端计算机上运行而无需安装执行文件的应用程序。 桌面应用程序是在个人计算机上单独安装并执行的应用程序。
性能 用户动作,反馈,统计信息可以轻松监控,并且数据更新在一处反映在Web应用程序的任何地方。 无法监视用户操作,并且数据更改只能反映在计算机上。
连接 可以使用Web浏览器在任何具有Internet连接的PC上访问Web应用程序,其中应用程序的性能取决于Internet速度。 只能在安装了应用程序的特定PC上访问桌面应用程序。
安全风险 Web应用程序更容易受到安全威胁,因为Internet上的任何人都可以访问该应用程序。 桌面应用程序不太容易受到安全威胁,用户可以在系统级别上检查安全问题。
用户数据 如果是Web应用程序,则可以保存和远程访问用户数据。 数据是从安装了应用程序的同一台计算机上存储,保存和访问的。
6. 什么是Intranet应用程序?
Intranet应用程序是一种私有应用程序,它在本地LAN服务器上部署和运行,并且只能由组织内的人员访问。它使用局域网共享信息。
示例:组织通常具有一个应用程序,该应用程序存储有关您的出勤,假期,组织内即将举行的庆祝活动或一些重要事件的信息,或者需要在组织内分发的信息。
7. 解释Web测试中授权和身份验证之间的区别。
8. Web测试安全性问题的类型有哪些?
拒绝服务(DOS)攻击
缓冲区溢出
通过浏览器地址直接传递内部URL
查看其他统计
9. 定义HTTP。
HTTP代表超文本传输协议。HTTP是一种数据传输协议,它定义了如何在万维网上格式化和传输消息。HTTP还确定Web服务器和浏览器执行的操作的响应。
例如, 当在Web浏览器上输入URL时,HTTP命令被发送到Web服务器,Web服务器又获取请求的Web浏览器
10. 定义HTTPS。
HTTPS代表安全超文本传输协议。为了安全起见,这基本上是基于SSL(安全套接字层)的HTTP。当网站使用HTTP协议时,总是有可能窃听用户与Web服务器之间传输的数据。
因此,网站使用安全方式,即使用HTTPS协议来回发送的数据进行SSL加密。几乎所有需要用户登录的网站都使用HTTPS协议。有银行网站,电子商务网站等
11. Web测试面临哪些常见问题?
• 服务器问题,包括服务器停机和维护中的服务器问题。
• 数据库连接问题。
• 硬件和浏览器兼容性问题。
• 与安全相关的问题。
• 与性能和负载有关的问题。
• GUI(图形用户界面)相关的问题。
12. 什么是Cookie测试?
Cookie被认为是个性化用户的身份或信息,在不同网页之间进行通信以及跟踪用户在网站页面上的导航是必需的。每当我们在任何网络浏览器上访问任何网站时,它们各自的cookie都会写入硬盘。
Cookies用于跟踪用户会话,显示广告,在访问任何网站时记住用户的选择,记住并检索用户的购物车,跟踪唯一身份的访问者等。
假设可以在许多国家(例如美国,加拿大,澳大利亚)访问电子商务站点,并且在印度进行了测试。在这种情况下,在测试印度不同国家/地区的电子商务站点时,首先会设置各个国家/地区的Cookie,以便可以访问该特定国家/地区的实际数据(例如时区等)。
13. 定义客户端验证。
客户端验证是一种基本在浏览器级别完成的验证,其中用户输入是在浏览器本身上验证的,而无需服务器的参与。
让我们借助示例了解它。
假设用户填写表格时输入的电子邮件格式不正确。然后,浏览器将在继续下一个字段之前提示错误消息以对其进行更正。因此,在提交表格之前,每个字段都会得到更正。
客户端验证通常是通过脚本语言来完成的,例如JavaScript,VBScript,HTML 5属性。
客户端验证的两种类型是:
• 数据验证
• 表单级别验证
14. 通过服务器端验证您了解什么?
服务器端验证发生在验证和处理用户请求需要服务器响应的情况下。为了更清楚地理解它,用户的输入将发送到服务器,并使用服务器端脚本语言(例如PHP,Asp.NET等)进行验证。
验证过程之后,反馈将以动态生成的网页的形式发送回客户端。
与客户端验证过程相比,服务器端验证过程更加安全,因为此处的应用程序受到保护,免受恶意攻击,并且用户可以轻松绕过客户端脚本语言。
15. 区分静态网站和动态网站
16. 您对客户端-服务器测试了解什么?
客户端服务器应用程序是在服务器上加载或安装应用程序本身,而在所有客户端计算机上加载应用程序EXE文件的应用程序。此环境通常在Intranet网络中使用。
在客户端服务器应用程序上执行以下测试:
• 在客户端和服务器系统上进行GUI测试。
• 客户端-服务器交互。
• 应用程序的功能。
• 负载和性能测试。
• 兼容性测试。
客户端-服务器应用程序测试中使用的所有测试用例和测试方案均来自测试人员的经验和要求规范。
17. 服务器返回的HTTP响应代码。
• 2xx –这表示“成功”
• 3xx-这表示“重定向”
• 4xx-这表示“应用程序错误”
• 5xx-这表示“服务器错误”
18. 可用性测试在Web测试中的作用是什么?
在Web测试中,可用性测试扮演着重要的角色。众所周知,可用性测试是确定最终用户在有或没有任何编程语言知识的情况下可以轻松访问应用程序的难易程度的一种手段。
在Web测试方面,可用性测试包括以下内容:
• 检查网站是否易于使用?
• 最终用户是否能够在应用程序中轻松导航?
• 存在任何可能妨碍用户体验的问题或模糊性。
• 检查用户在应用程序中完成任务的速度。
19. Web上有哪些可用环境?
• 内联网(局域网)
• 互联网(广域网)
• Extranet(Internet上的专用网络)
20. 静态网站和动态网站的测试用例格式是什么?
对于静态网站,将使用以下测试案例格式:
• 前端测试用例
• 导航测试用例
对于动态网站,将使用以下测试案例格式:
• 前端测试用例
• 后端测试用例
• 导航测试用例
• 现场验证测试案例
• 安全测试用例等
21. 说明一些HTTP响应对象的子类?
Write,Flush,Tell等都是常用的HTTP响应对象。
HTTP响应的子类为:
• HttpResponseRedirect
• HttpResponsePermanentRedirect
• HttpResponseBadRequest
• HttpResponseNotfound
22. 常用的Web测试工具。
• eggplant functional
• Selenium
• SOA test
• JMeter
• iMacros, etc.
23. 举例说明我们日常生活中使用的Web应用程序。
• 诸如eBay,Amazon,Flipkart等的Web门户。
• 诸如ICICI,Yes Bank,HDFC,Kotak Mahindra等银行应用程序。
• 电子邮件服务提供商,例如Gmail,Yahoo,Hotmail等。
• 社交网络,例如Facebook,Twitter,LinkedIn等。
• 讨论和信息论坛,例如www.Softwaretestinghelp.com
24. 什么是代理服务器?
代理服务器是充当中介服务器的服务器,或者是位于客户端和主服务器之间的服务器。
主服务器与客户端服务器之间的通信是通过代理服务器完成的,因为来自主服务器的任何连接,文件,资源的客户端请求都是通过代理服务器发送的,并且主服务器或本地高速缓存的响应再次发送到代理服务器。客户端服务器是通过代理服务器完成的。
下面列出了一些基于其用途和功能的最常见的代理服务器:
• 透明代理
• 网络代理
• 匿名代理
• 扭曲代理
• 高匿名代理
代理服务器基本上用于以下目的:
• 改善网络响应的性能。
• 如果在高速缓存中存在文档,则将响应直接发送到客户端。
• 代理服务器以Web代理的形式过滤网页内容。
• 代理服务器还用于阻止攻击性Web内容供用户访问,特别是在组织,学校和学院中。
• Web代理可防止计算机病毒和恶意软件的攻击。
25. 什么是数据库服务器?
数据库服务器可以定义为引用数据库应用程序的后端系统的服务器,该后端应用程序提供数据库服务,例如从数据库访问和检索数据。
数据库服务器使用客户端/服务器体系结构,在该服务器上,可以通过运行在用户计算机上并在其上显示数据的“前端”或通过运行在数据库服务器本身上的“后端”来通过数据库服务器访问数据。
数据库服务器就像数据仓库一样,还保存在数据库管理系统(DBMS)上。
其他软件测试面试问题
问:什么是动态测试?
答。通过执行具有各种输入值的代码或程序来完成测试,然后在输出上进行验证。
问:什么是GUI测试?
答。GUI或图形用户界面测试是针对提供的需求/模型/ HTML设计等对软件用户界面进行测试的过程,
问:什么是常规测试?
答。通过遵循测试计划,测试程序和适当的文档并在获得客户批准的情况下进行的软件验证被称为正式测试。
问:什么是基于风险的测试?
答。识别系统中的关键功能,然后确定测试这些功能的顺序,然后确定测试顺序,这被称为基于风险的测试。
问:什么是早期测试?
答。在开发生命周期中尽快进行测试,以便在STLC的早期阶段发现缺陷。早期测试有助于减少在STLC后期修复缺陷的成本。
问:什么是穷举测试?
答。具有所有有效,无效输入和前提条件的测试功能称为穷举测试。
问:什么是缺陷聚类?
答。任何小的模块或功能都可能包含许多缺陷-将更多的精力放在测试这些功能上被称为缺陷聚类。
问:什么是杀虫剂悖论?
答。如果准备好的测试用例没有发现缺陷,请添加/修订测试用例以发现更多缺陷,这被称为“杀虫剂悖论”。
问:什么是静态测试?
答。在不执行程序的情况下手动验证代码称为“静态测试”。在此过程中,通过检查代码,需求和设计文档在代码中识别问题。
问:什么是正面测试?
答。在应用程序上进行的测试是确定系统是否正常运行。基本上称为“通过测试”方法。
问:什么是负面测试?
答。带有否定性检查系统以检查系统是否“不应该显示错误”和“不应该显示错误”的测试软件被称为负面测试。
问:什么是端到端测试?
答。测试系统的整体功能(包括所有模块之间的数据集成)称为“端到端测试”。
问:什么是探索性测试?
答。探索应用程序,了解其功能,添加(或修改)现有测试用例以进行更好的测试称为探索测试。
问:什么是monkey测试?
答。在没有任何计划的情况下对应用程序进行的测试,以及与测试一起随机进行的测试,目的是发现任何系统崩溃,目的是发现棘手的缺陷,这被称为“monkey测试”。
问:什么是非功能测试?
答。验证系统的各种非功能性方面,例如用户界面,用户友好性,安全性,兼容性,负载,压力和性能等,称为非功能性测试。
问:什么是可用性测试?
答。检查最终用户能够多么容易地理解和操作该应用程序称为可用性测试。
问:什么是安全测试?
答。验证是否在软件中正确实施了所有安全条件(或没有)是安全性测试。
问:什么是性能测试?
测量系统各种效率特征(例如响应时间,每分钟的负载压力事务,事务混合等)的过程称为性能测试。
问:什么是负载测试?
答。在各种条件下分析应用程序的功能和性能行为称为负载测试。
问:什么是压力测试?
答。在压力条件下检查应用程序行为
(或)减少系统资源并使负载保持恒定,并检查应用程序的行为方式称为压力测试。
问:什么是流程?
答。流程是为实现给定目的而执行的一组实践;它可能包括工具,方法,材料或人员。
问:什么是软件配置管理?
识别,组织和控制软件开发和维护变更的过程。
(或)这是一种控制和管理软件开发项目的方法。
问:什么是测试流程/生命周期?
答。它包括以下因素:
编写测试计划
测试方案
测试用例
执行测试用例
测试结果
缺陷报告
缺陷跟踪
缺陷关闭
测试版本
问:CMMI的完整形式是什么?
答。集成能力成熟度模型
问:什么是代码遍历?
答。对程序源代码进行非正式分析以发现缺陷并验证编码技术被称为。
问:什么是单元级别测试?
答。对单个程序,模块或代码单元的测试称为单元级别测试。
问:什么是集成级别测试?
答。测试相关程序,模块(或)代码单元。
(或)准备好与系统其他分区进行测试的系统分区。
问:什么是系统级测试?
答。跨所有模块对整个计算机系统的测试称为“测试”。这种测试可以包括功能测试和结构测试。
问:什么是Alpha测试?
答。部署到UAT之前对整个计算机系统的测试称为“测试”。
问:什么是用户验收测试(UAT)?
答。客户端对计算机系统的测试,以验证计算机系统是否符合所提供的要求。
问:什么是测试计划?
答。它是描述测试活动的范围,方法,资源和时间表的文档。它确定测试项目,要测试的功能,测试任务,谁将执行每个任务以及需要应急计划的任何风险。
问:什么是测试方案?
答。识别所有可能的待测试区域(或待测试内容)就是这样。
问:什么是ECP(等效类分区)?
答。这是一种导出测试用例的方法。