1.谈一谈对测试的理解?
我认为的测试不仅仅是测试出bug的这么一项工作,他是要从软件或者系统的功能,性能,安全,用户体验这么四个方面来保证软件和系统的交付质量。
功能测试就是可以提前发现一些bug,进行一些修复,减少线上的事故或者工单的发生。
压力测试就是评估一下系统高负载下的性能,验证系统稳定性,优化资源配置,能够在高峰期给用户更好的体验。
2.讲一下测试是的流程
1)需求分析:测试首先要对软件的功能需求较深的了解,产品开需求评审会的话,会拉上测试和开发一起。
2)测试计划:需求评审完成之后的话,要根据需求明确测试范围,给出测试计划,测试方法,以及时间排期
3)测试用例设计:根据需求文档,以及确定的测试范围,详细的设计覆盖到每一个功能点的用例,包括正常情况的测试以及边界值的测试。
4)测试用例评审:看一下测试用例覆盖的功能点全不全,测试用例有没有错误,有没有冗余的测试用例。
5)执行测试用例:预发环境下,记录测试用例结果,发现bug,提报bug。
6)灰度上线:灰度回归验证
7)线上回归
8)搭建自动化环境,构建测试用例,做一些接口自动化
3.测试过程中有哪些产出?
1)测试计划
2)测试用例
3)case执行记录
4)测试的脚本
5)测试报告
4.测试常用的方法:
功能测试:检查软件的各项功能是否按照需求规格书执⾏,包括⽤户界⾯、数据库、安全 性、功能等。
单元测试:测试软件中最⼩的可测试部分,验证这些单元在各种条件下都按预期⼯作。
集成测试:测试多个单元、模块或组件协同⼯作时是否能正常运⾏。
回归测试:在发⽣修改之后重新测试先前的测试⽤例以保证修改的正确性。
性能测试:检查软件的速度、响应时间、稳定性、资源消耗等性能指标。包括负载测试、 压⼒测试和稳定性测试。
5.单元测试和集成测试的区别
单元测试是针对软件的最⼩可测试部分(通常是⼀个函数、⽅法或类)进⾏的测试。通常 在编写或修改代码后⽴即进⾏,以快速发现和修正代码中的错误,常⽤的⼯具包括JUnit (Java)、PyTest(Python)等。
集成测试是在多个模块或组件被集成在⼀起后进⾏的测试,⽤来验证不同模块之间的接⼝ 和交互是否按预期⼯作,通常使⽤集成测试框架,⽐如Postman(API测试)、Selenium (Web应⽤集成测试)来进⾏。
增量集成:逐步添加新的模块并测试。
⼤爆炸集成:同时集成所有模块后⼀次性测试。
6.系统测试和集成测试的区别和使⽤场景是什么?
系统测试是在整个软件系统完成集成后进⾏的测试。它的⽬的是验证整个系统是否符合指 定的需求,关注整个系统的⾏为,测试涵盖所有集成的模块,以确保它们作为⼀个完整的 系统正确地协同⼯作,包含功能性测试(如功能完整性、⽤户界⾯、⽤户流程)和⾮功能 性测试(如性能、安全性、兼容性)。
集成测试是在多个软件模块或组件被集成在⼀起时进⾏的测试。它的⽬的是验证这些模块 或组件之间的交互,关注于模块之间的接⼝和交互。确保不同模块的数据交换和功能协作 符合预期,主要⽤来检查数据传递、接⼝调⽤、异常处理等模块间交互的⽅⾯。 集成测试通常在单元测试之后、系统测试之前进⾏,当整个应⽤开发接近完成时,进⾏系统测试。
7.什么是黑盒测试?
⿊盒测试,也被称为功能测试或⾏为测试,测试者只关注软件的输⼊和输出,不需要了解程序 的内部实现,主要验证软件的功能是否符合⽤户需求和规格说明。常⽤的测试⽅法包括等价类 划分、边界值分析、因果图法、状态转换测试、错误猜测等。
⿊盒测试:想象你在玩⼀款新游戏,你只关⼼游戏的功能、操作和画⾯,⽽不需要知道游戏的 源代码或内部实现。你测试游戏的可玩性、故事情节等,这就是⿊盒测试。
系统测试、验收测试
8.什么是白盒测试?
⽩盒测试,也称为结构测试或透明盒测试,测试者需要了解程序的内部⼯作机制,包括代码、 逻辑流程、内部结构,主要验证代码的逻辑路径、分⽀覆盖、循环、语句覆盖等,常⽤的测试 ⽅法包括路径覆盖、条件覆盖、循环覆盖、语句覆盖等,主要适⽤于单元测试和集成测试。
⽩盒测试:如果你是游戏开发者,你可能需要检查游戏的源代码,确保每个游戏功能都按照设计要求正确实现。这就是⽩盒测试。
单元测试、代码审查
9.什么是灰盒测试?
是一种结合了白盒测试和黑盒测试的软件测试方法。它既关注系统的内部结构和逻辑(类似于白盒测试),又关注系统的外部行为和功能(类似于黑盒测试)。灰盒测试通常在部分了解系统内部结构的情况下进行,测试人员可以基于有限的知识设计测试用例。
集成测试、安全性测试