一、基础概念类问题

软件测试的基础概念是面试中常常被问到的内容。例如“什么是软件测试?”,软件测试是为了发现程序中的错误而执行程序的过程,其目的在于以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正这些错误和缺陷提高软件质量,回避软件发布后由于潜在的软件问题带来的风险。还有关于测试类型的问题,像功能测试、性能测试、兼容性测试、可靠性测试、安全性测试、压力测试、负载测试等都是常见的测试类型。功能测试主要关注软件功能是否符合需求,例如测试一个登录功能是否能正常使用,包括用户名密码的输入验证、登录后的跳转页面等是否正确;性能测试则侧重于评估软件在不同负载条件下的性能表现,如系统响应时间、吞吐量等指标;兼容性测试会检查软件在不同的硬件平台、操作系统、浏览器等环境下是否能正常运行,比如一款手机APP在不同品牌手机、不同操作系统版本上的运行情况。
二、测试流程相关问题
- 项目测试阶段
- 测试分为哪几个阶段也是常见问题,一般来说分为单元测试、集成测试、确认测试、系统测试、验收测试等阶段。单元测试是针对程序模块来进行正确性检验的测试工作,例如对一个函数进行单独测试,检查其输入输出是否符合预期;集成测试是将所有模块按照设计要求组装成为子系统或系统后进行的测试,重点关注模块之间的接口是否正常,比如多个模块之间的数据传递是否正确;系统测试是对整个系统进行全面的测试,包括功能、性能、安全等多方面;验收测试则是由最终用户或代表用户的相关人员来实施,确定软件是否满足需求和合同规定的要求。
- 测试流程细节
- 关于在项目中的具体测试流程也可能被问到。例如需求分析阶段,测试人员需要参与评审需求,确保需求的可测试性;接着是测试计划阶段,要制定详细的测试策略、测试方法、资源安排等;然后是测试用例设计阶段,需要运用各种测试用例设计方法,如边界值分析、等价类划分、错误推测法等设计出高质量的测试用例;之后是测试用例评审,由产品经理、开发人员、测试人员、业务需求人员等共同参与,确保测试用例的准确性和完整性;在测试执行阶段,执行测试用例并记录发现的缺陷;最后是测试报告阶段,总结测试结果,包括测试的范围、发现的缺陷情况、软件的质量评估等内容。
三、测试用例相关问题
- 设计方法
- 常见的测试用例设计方法是重点考察内容。等价类划分是将输入域划分为若干个等价类,从每个等价类中选取一个代表性数据进行测试,比如对于一个输入年龄的文本框,如果年龄范围是1 - 100岁,可以划分出有效等价类(1 - 100之间的整数)和无效等价类(小于1或者大于100的数);边界值分析则是关注输入或输出的边界情况,如对于上述年龄范围,1岁、100岁以及边界附近的值0、101等就是边界值,需要重点测试;错误推断法是基于经验和直觉推测可能出现错误的情况,例如在登录功能中,输入特殊字符、空值等情况可能会导致错误,需要在测试用例中体现。
- 用例特性
- 什么样的测试用例是好用例也是面试常见问题。好用例是一个完备的集合,它能够覆盖所有等价类以及各种边界值,需要从软件功能需求出发,全面地、无遗漏地识别出测试需求,最好还能实现代码覆盖测试也全面的测试。此外,测试用例需要清晰地描述前置条件、操作步骤、预期结果等内容,以便于执行和理解。
四、缺陷管理相关问题
- 缺陷定义与内容
- 首先是关于什么是bug的问题,没有实现需求说明书列出的功能、出现了没有需求说明书提到不该出现的事情、实现了多的功能或者没有实现应该实现的逻辑等情况都被视为bug。一个软件缺陷记录通常包含前提条件、测试环境、操作步骤、预期结果、实际结果、严重等级、版本信息、出现概率等内容,并且问题描述和操作步骤要尽可能描述详细,这样可以初步分析bug是客户端的问题还是服务端的问题。
- 缺陷处理流程
- 在开发人员修复缺陷后,测试人员需要重新执行测试用例,并且针对这个缺陷影响的相关点写新的测试用例,以保证不影响其他功能。当开发人员说不是bug时,测试人员首先要阐述自己的理由,并以需求说明书为依据,如果开发人员还是不认同,可以把自己的观点和理由提交给产品经理,由其去决定是否为一个bug。
声明:本文网友投稿,观点仅代表作者本人,不代表鲸选型赞同其观点或证实其描述。