个人Blog:dykang.top
软件测试的工作:找出软件存在的问题,确保软件产品在发布之前达到一定的质量目标的职责。有很强的责任感,对软件质量负责,对客户的质量期望负责
-
软件测试的基本概念、目的和重要性: 软件测试是一种评估软件质量的过程,旨在发现潜在的缺陷和问题,确保软件满足用户需求和预期功能。其重要性在于提高软件质量、减少后期维护成本、增强用户满意度等。
-
软件测试的各个阶段和常用的测试类型: 软件测试包括单元测试、集成测试、系统测试和验收测试等阶段。单元测试是针对单个代码模块的测试,集成测试是测试不同模块之间的集成情况,系统测试是测试整个系统的功能和性能,验收测试是由用户进行的测试以确认软件是否满足需求。常用的测试类型包括功能测试、性能测试、安全测试、兼容性测试等。
-
黑盒测试和白盒测试的区别: 黑盒测试是基于软件规格说明进行测试,不考虑内部实现细节;白盒测试是基于代码内部结构进行测试,考虑内部逻辑和数据流。例如,黑盒测试可以通过输入输出的逻辑判断来进行测试,而白盒测试则需要了解代码的执行路径和逻辑。
-
测试过程
-
需求分析:理解用户需求和设计规格,了解软件的功能和性能需求。
-
制定测试计划:确定测试范围、测试目标、测试资源、测试进度和测试策略等。
-
编写测试用例:根据需求文档或设计文档编写测试用例,包括输入数据、预期输出、执行步骤等。
-
执行测试用例:根据测试计划和测试用例执行测试,记录测试结果和问题。
-
缺陷管理:对发现的缺陷进行记录、跟踪和管理,包括缺陷的分类、优先级、状态和解决情况等。
-
回归测试:修改后的代码,然后进行测试,看是否改正,然后改正是否会带来其他bug,然后也需要执行之前已经测试过的用例
-
测试报告:根据测试结果编写测试报告,包括测试覆盖情况、缺陷统计、风险评估和建议等。
-
黑盒白盒
-
黑盒测试(Black Box Testing):
-
定义:黑盒测试是一种测试方法,测试人员在不了解内部实现细节的情况下,仅根据软件规格说明和功能需求来验证软件的正确性、完整性和质量。
-
方法:黑盒测试的方法主要包括等价类划分、边界值分析、决策表测试、因果图等。测试人员通过输入合法和非法的输入数据,以及各种情况下的输入组合,检查软件的输出是否符合预期。
-
优点:测试人员无需了解内部代码逻辑,可以独立进行测试,覆盖面广。
-
缺点:测试覆盖可能不够全面,无法发现潜在的内部错误。
-
-
白盒测试(White Box Testing):
-
定义:白盒测试是一种测试方法,测试人员在了解软件内部实现细节的情况下,针对代码的结构、逻辑和路径进行测试,以验证软件的正确性、性能和安全性。
-
方法:白盒测试的方法主要包括语句覆盖、分支覆盖、路径覆盖、条件覆盖、数据流覆盖等。测试人员通过检查代码的执行路径和内部状态,以及对特定条件和情况的处理,来评估软件的质量和健壮性。
-
优点:能够发现隐藏在代码内部的错误和逻辑缺陷,提高代码的质量和健壮性。
-
缺点:需要深入了解代码的内部实现细节,测试过程可能更复杂,覆盖面相对较窄。
-
常用的 Linux 命令有哪些?
cd, pwd, ls, cat, tail, vi, mkdir, touch,
du(目录所占的资源), df(磁盘空间使用情况), top(cpu使用率), free(查看剩余的内存), chmod, ps-ef, lsof (当前文件的线程)等。
查看某端口号:netstat -anp | grep 端口号
netstat -tlnp
查看当前机器listen的所有端口
Get和Post请求
Get 请求和 Post 请求有什么区别? 首先,GET 经常用于获取数据,POST 经常用于提交数据;
其次,GET 方法提交数据时将数据拼接到 URL 中,客户端地址栏可见;而 POST 方法提交数据时将数据置于消息主体内;
不同浏览器对 URL 的长度有限制,所以 GET 请求传送的数据量是有限的,而理论上POST 请求传送的数据量是不受限制的。
常见的测试设计方法有哪些?
常见的测试设计方法:场景分析法、等价类、边界值法和错误猜测法。
①场景分析法:理解需求,把程序中的基本流和备选流描述出来,根据基本流和备选流生
成不同的场景,对每一个场景生成相应的测试用例。
②等价类:针对单个输入数据的测试,把输入数据划分为有效等价类(合理的、有意义的
输入)和无效等价类(不合理的、无意义的输入),在等价类中任意选取数据来测试。
③边界值:列出合法边界值和非法边界值,分别进行测试;测试数据为边界上的值。
④错误推测法:根据经验+直觉推测可能存在什么错误,针对性设计测试用例。
常见的推测依据:以前产品测试中发现的问题、修复了 bug 的功能和模块等,测试用例的评审就是一种错误推测法的应用。
正交法:根据因素和因素的状态,选取合适的正交表,能够减少测试用例的数目,选择出比较准确的测试用例。
Header
Headers):包含请求的元数据信息,如 Content-Type、Content-Length 等。
内容的类型,长度,token身份验证,目标主机和端口号,cookie
Cookie 和 Session 区别
Cookie:
-
存储在客户端,以文本形式保存在用户的浏览器中。
-
用于跟踪用户会话,可以存储少量的数据。
-
客户端可以修改或删除 Cookie。
-
可以设置过期时间,可以长期保存,浏览器关闭后依然有效。
Session:
-
存储在服务器端,以一种更安全的方式保存用户数据。
-
通常存储在服务器的内存或数据库中。
-
通过 Cookie 中的 Session ID 进行标识和跟踪。
-
服务器控制 Session 的创建、维护和销毁。
-
可以存储大量数据,但会增加服务器负担。
测试用例示例模板
-
测试标题:登录功能测试
-
测试目的:验证用户能够成功登录系统。
-
前提条件:用户已注册,并且输入了正确的用户名和密码。
-
测试步骤:
-
打开登录页面。
-
输入有效的用户名和密码。
-
点击登录按钮。
-
-
预期结果:用户成功登录系统,并跳转到首页。
Bug
-
提交一个 bug 需要提供的信息包括:
-
Bug 的描述:清晰描述 bug 的现象、出现的条件和影响。
-
复现步骤:描述复现 bug 的具体步骤。
-
期望结果和实际结果:说明预期的行为和实际发生的行为之间的差异。
-
环境信息:包括操作系统、浏览器版本、设备型号等。
-
截图或录像:提供相关的截图或录像,帮助开发人员更好地理解问题。
-
日志信息:提供相关的日志信息,如错误日志或调试信息。
-
其他相关信息:如影响程度、优先级等。
-
续~