前言
翻出来自己期末备考整理的一些资料,供大家参考。若有错误,欢迎大家指出~
第一章
1、如何有效地描述一个缺陷?
一个有效的缺陷报告应该包含标题、操作步骤、期望结果、实际结果等要素。标题应该简明扼要地概括缺陷的核心问题,让人一目了然。重现步骤要详细,期望结果和实际结果要准确。对缺陷的优先级以及严重性进行评估。
2、软件缺陷声明周期的基本状态?
(1)New(新建缺陷):测试中新报告的软件Bug。
(2)Open(打开):被确认并分配给开发人员处理。
(3)Fixed(修复):开发人员完成修正,等待测试人员验证。
(4)Declined(拒绝):拒绝修改Bug。
(5)Deferred(延期):不在当前版本修复的错误,延迟到下一版本修复。
(6)Closed(关闭):Bug已经得到正确修复。
(7)Reopen(再次打开):Bug没有被修复,重新打开缺陷。
3、软件测试的目的是什么?
软件测试的目的就是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,避免软件发布后由于潜在的软件缺陷和错误造成的隐患及可能带来的商业风险。
同时,测试是对软件质量的度量与评估,可以为用户选择与接受软件提供有利的证据。
此外,通过分析错误产生的原因,还可以帮助发现当前开发工作中所采用的软件过程的缺陷,以便进行过程改进。
第二章
1、常见应用系统的基本特征
常见应用系统包括功能与业务流程,功能由增加、修改、删除、查询、导入/导出及计算组成,业务流程由若干个功能有序连接组成。
2、为什么需要测试用例?它的作用是什么?
设计测试用例,是为了更有效、更快的发现软件缺陷。测试用例具有很高的有效性和可重复性,依据测试用例进行测试可以节约测试时间,提升测试效率。测试用例具有良好的组织性和可跟踪性,有利于测试管理。
3、测试用例的要素(描述元素)有哪些?(9个)
标识符(测试用例编号)、测试标题、前置条件、输入数据、操作步骤、期望结果、所属模块、优先级、用例性质(正例反例)。
第三章
1、自顶向下集成测试和自底向上集成测试的优缺点?
自顶向下集成测试表示逐步集成和逐步测试是按照结构图自上而下进行的,即模块集成的顺序是首先集成主控模块(主程序),然后依照控制层次结构向下进行集成。
自底向上集成测试表示逐步集成和逐步测试的工作是按结构图自下而上进行的,由于是从最底层开始集成,所以也就不再需要使用桩模块进行辅助测试,但是需要创建驱动程序。
自顶向下测试的主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架。它的主要缺点是需要提供桩模块。
自底向上的优点在于不需要桩模块,需用的驱动模块比较少。它的主要缺点在于直到最后一个模块被加进去之后才能看到整个程序(系统)的框架。
2、系统测试应包含哪些内容?(4个)
易用性测试:试图发现人为因素或易用性问题。
兼容性测试:检查系统在不同平台、设备、浏览器等环境下的兼容性。包括系统版本、硬件配置、操作系统、网络环境等方面的测试。
性能测试:评估系统的性能表现,包括响应时间、吞吐量、可承受并发用户数等指标。发现性能瓶颈并进行优化,提高系统的性能和稳定性。
安全性测试:检查系统的安全性,发现并解决潜在的安全漏洞和风险。包括漏洞扫描、密码强度、权限控制等方面的测试。
3、软件测试类型包括哪些?
功能测试、接口测试、性能测试。
4、软件测试级别包括哪些?
单元测试、集成测试、确认测试、系统测试以及验收测试。
5、软件测试方法包括哪些?
黑盒测试、白盒测试、灰盒测试。
黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
灰盒测试结合了白盒测试和黑盒测试的要素,它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
6、软件测试手段包括哪些?
手工测试、自动化测试。
7、集成测试方法有哪些?
自顶向下集成、自底向上集成、混合测试。
第四章
1、软件测试的流程由哪些阶段组成?(6个)
制定测试计划阶段、测试需求分析阶段、测试建模阶段、测试用例设计阶段、测试执行阶段、测试总结阶段。
第五章
1、白盒测试有哪些方法?
白盒测试:
逻辑覆盖法、基本路径测试法。
2、什么是基本路径测试?
基本路径测试法在程序控制流图的基础上,通过分析控制流图的环路复杂性,导出基本可执行路径的集合,然后据此设计测试用例。
第六章
1、黑盒测试有哪些方法?
等价类划分,边界值分析,两两组合,正交试验,因果,决策表,场景,判定表。
第七章
1、HTTP常用的方法
GET、POST、PUT、DELETE、HEAD(读取Web页面的首部)、CONNECT、OPTIONS(客户端查看服务器性能)、TRACE(回显请求)。
2、HTTP请求报文与响应报文格式?
请求报文:
请求行、请求头部、空行、请求体。
响应报文:
状态行、响应头部、空行、响应体。
3、HTTP响应类别及常见的状态码?
响应类别:
1XX 进度通知,表示客户端的请求服务器正在处理。
2XX 成功,表示客户端的请求服务器已经成功处理了。
3XX 重定向,服务器通知客户端请求的资源已经不存在。
4XX 客户端发来的请求报文里有错误,如语法错误或请求的资源不存在等。
5XX 服务器端有错误,已经无法处理客户端请求了。
状态码:
200 OK 请求成功。
301 Moved Permanently 资源被永久移动,请求的资源已被永久移动到新的统一资源标识符(URL),返回信息会包括新的URL,浏览器会自动定向到新URL。
302 Found 资源临时移动,资源只是临时被移动,客户端应继续使用原有URI
403 Forbidden 没有权限,服务器收到请求,但拒绝提供服务。
404 Not Found 请求的资源不存在,遇到404首先检查请求URL是否正确。
500 Internal Server Error 服务器内部错误,无法完成请求。
503 Service Unavailable 由于超载或系统维护(一般是访问人数过多),服务器无法处理客户端的请求,通常这只是暂时状态。
第八章
1、什么是接口测试,为什么要做接口测试?
接口测试就是通过测试不同情况下的输入参数与相对应的返回结果,来判断软件系统前后端之间的接口是否符合或满足相应的功能性、安全性要求。
接口测试不但可以将测试工作前置,还可以发现很多在前端页面上发现不了的bug,可以检查系统处理异常的能力。接口测试比较稳定,容易实现自动化持续集成,可以减少人工回归测试的人力成本与时间,缩短测试周期。
2、接口测试的常用工具有哪些?
Postman、JMeter、SoapUI
第十章
1、接口自动化测试框架(由哪些软件组成)?
Postman+Newman+Jenkins
第十一章
1、Webui自动化测试常用软件?
Selenium。
2、webdriver的原理?
通过驱动程序与浏览器进行交互,实现自动化操作。
在这个过程中,WebDriver会启动一个与浏览器相对应的驱动程序,该驱动程序会作为Server端,而我们的测试代码则作为Client端。当Client端向Server端发送请求时,Server端会驱动浏览器执行相应的操作,并将结果返回给Client端。
3、Webui自动化测试模型有哪些?
线性测试、模块化与类库、数据驱动、关键字驱动。
4、使用pageobject模式实施测试的具体做法?
(1)创建一个页面的类;
(2)在类的构造方法中,传递WebDriver 参数;
(3)在测试用例的类中,实例化页面的类,并且传递在测试用例中已经实例化的WebDriver 对象;
(4)在页面的类中,编写该页面的所有操作的方法;
(5)在测试用例的类中,调用这些方法。
第十二章
1、什么是性能测试?
性能测试是指在一定的负载情况下,系统的响应时间等特性是否满足特定的性能需求。
2、性能测试指标?
响应时间、吞吐量、服务器资源占用。
3、性能测试的流程?
4、性能测试常用的工具软件,性能测试工具的共性特点
LoadRunner、WebLOAD、JMeter。
特点:
通过协议模拟用户行为;
模拟大量用户;
具备数据采集与整理分析的能力。
5、性能测试的分层模型?
前端层、网络层、后端层。
6、性能测试分析思路?
观察现象 -> 层层递进 -> 缩小范围
观察页面的表现、服务器的资源表现、各类软件的参数、log日志等等,可以从前端往后端或后端往前端一层层进行分析与排除。可以在分析问题时适当的缩小分析范围,从而简化问题的复杂度,提高分析的逻辑性。
第十四章
1、WEB应用存在的常见安全漏洞?
SQL注入漏洞、XSS跨站脚本漏洞、CSRF、文件上传漏洞。
2、SQL注入的原理、注入点类型?
直接将代码插入到与 SQL 命令语句中。攻击者将用批注标记 -- 来标记终止注入的字符串。 执行时,此后的文本将被忽略。
注入点类型:
数字型注入、字符型注入。
3、XSS跨站脚本漏洞原理,XSS类型?
XSS攻击是在网页中嵌入客户端恶意脚本代码,这些恶意代码一般是使用JavaScript语言编写的。JavaScript可以用来获取用户的Cookie、改变网页内容、URL跳转,攻击者可以通过向Web页面注入JavaScript代码,来实现这些目的。
XSS类型:
反射型XSS、存储型XSS、DOM XSS。
软件测试的V模型
V模型大体可以划分为下面几个不同的阶段步骤,既需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试。
V 模型的优点:
包含了底层测试(单元测试)和高层测试(系统测试);
清楚地表示了开发和测试的各个阶段;
自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。
V 模型的缺点:
自上而下的顺序,导致测试工作在编码之后,不能及时地进行修改;
实际工作中,需求经常变化,导致 V 模型步骤反复执行,返工量很大,灵活度较低。
白盒测试遵循的原则
1.完备性原则(Completeness Principle):
确保测试用例覆盖了所有的代码路径和逻辑分支。这意味着测试人员需要尽可能地检查所有可能的输入、边界条件和特殊情况,以确保软件在各种情况下都能正确运行。
2.独立性原则(Independence Principle):
测试用例应该相互独立,一个测试用例的执行不应该依赖于其他测试用例的执行结果。这有助于提高测试的可重复性和可靠性,并帮助测试人员更容易识别和调试问题。
3.有效性原则(Effectiveness Principle):
测试用例应该能够有效地发现潜在的错误。测试人员需要根据软件的规格说明和设计文档来设计测试用例,以确保测试能够覆盖关键功能和重要业务逻辑。
4.可跟踪性原则(Traceability Principle):
测试用例应该能够追溯到软件的需求和规格说明,以确保软件的每个功能都有相应的测试用例。这有助于确保测试的全面性,并为软件的验证和审查提供支持。
5.透明性原则(Transparency Principle):
测试人员需要清晰地记录测试用例、测试结果以及发现的问题,并与相关的利益相关者共享这些信息。透明性有助于提高沟通和合作,加快问题的解决过程,并改进软件的质量。