一:什么是前后端联调
前后端接口联调就是在我们开发的过程中,发送请求的ajax数据都不是返回的真数据,而是我们自己通过接口mock模拟的假数据,当前端的代码编写完成后,后端的接口也写好后,我们就需要把mock数据换点,尝试使用后端提供的数据进行一个前后端的调试。
二:为什么需要联调
1.联调就是前后端一起见证靠谱的测试结果
2.给需求方提供一个正确的需求验证环境
3.尽量暴露前后端实现的问题
三:如何有效联调
1.自测
2.快速定位问题
f12查看,排查问题
3.责任边界
判断尽量放到后端做,数据格式化都能做。
4.及时反馈
后端数据库里面一定要有测试数据,前端一定要根据当初约定好的数据格式要求后端。
四:测试流程
1.前端发起请求:前端根据测试用例,调用相应的接口地址,发送请求
2.后端接受请求并处理:后端接受到请求后,根据请求参数进行相应的业务处理,并返回结果
3.前端接受并处理返回结果;前端接收到后端返回的结果后,进行结果解析和展示
五:bug
1.现阶段的bug基本分类
功能逻辑和用户体验
2.bug分类
(1)功能型bug
指产品实现过程中具体逻辑的实现错误
(2)需求型bug
指在软件项目管理的过程中,需求阶段就埋下了隐患,如未按照需求实现,需求理解错误或需求未描述清楚等情况
(3)性能型bug
指软件在很多人同时使用或长时间运行时出现了响应慢,甚至崩溃的场景
(4)常识型bug
在过去一段时间,用户一直是这样认为的,已经形成一种默认的约定,但软件设计或开发人员不按照约定俗成的规定来。
3.发现bug的方法论
(1)常用
等价类划分法
边界值分析法
错误推测法
因果法
(2)不常用
判定表驱动法
正交试验法
功能图法
场景法
4.bug处理
(1)bug识别
(2)bug定位
(3)bug修复
(4)回归测试
六:软件测试
1.目的
(1)提高软件质量:软件测试的首要目标是确保软件的质量,通过发现和修复软件中的错误和缺陷,从而提供高质量的软件产品。
(2)保证软件安全:软件测试还可以确保软件的安全性,特别是对于那些涉及敏感数据或资金处理的软件,如银行系统的APP。通过测试,可以确保软件在上线后不会出现安全漏洞,从而保护用户的数据和资金安全。
(3)降低软件开发成本:在软件开发过程中,早期发现并修复错误可以大大降低开发成本。如果在产品上线或即将完成开发时才发现错误,可能需要付出更大的代价来修复,甚至可能导致产品的大改动,从而浪费之前的投入。
(4)降低企业风险:软件测试可以降低企业的风险。如果软件存在大量错误或问题,可能会损害企业的声誉,导致合作企业减少,从而直接影响企业的收益。
(5)为用户接受软件提供有力依据:软件测试是在用户使用软件之前进行的质量保障工作。只有经过软件测试,才能确保软件的质量,从而让用户更有信心接受并使用软件。
(6)树立用户对软件的信心:用户对于经过测试的软件和未经测试的软件在质量上的信心是有很大差别的。通过软件测试,可以为用户提供更可靠、更稳定的软件产品,从而树立用户对软件的信心。
2.进行软件测试的常用工具
(1)Selenium:Selenium是一个广泛使用的自动化测试工具,特别适用于Web应用程序的测试。由于它能够模拟真实用户的操作,因此在功能测试、回归测试和UI测试中非常受欢迎。
(2)JUnit:对于Java开发人员来说,JUnit是单元测试的标准工具。它提供了丰富的断言方法和测试执行框架,使得编写和运行单元测试变得简单而高效。
(3)JIRA:JIRA不仅是一个缺陷跟踪工具,还广泛用于项目管理。它提供了强大的工作流和自定义字段功能,使得团队可以高效地跟踪和管理缺陷、任务和项目。
(4)Jenkins:Jenkins是一个持续集成和持续部署工具,它自动化了构建、测试和部署的过程。通过Jenkins,团队可以快速地发现软件中的缺陷,并进行迭代改进。
(5)Postman:对于API测试来说,Postman是一个非常受欢迎的工具。它提供了直观的界面来发送HTTP请求、验证响应,并提供了丰富的测试功能,如断言、脚本和测试数据管理等。
七:常见的软件开发模型
1.边做边改模型(Build-and-Fix Model):这是一种非正式的模型,通常是在没有明确需求或设计的情况下开始开发,然后根据用户反馈进行不断的修改和改进。这种模型往往会导致开发过程混乱,难以控制,且软件质量难以保证。
2.瀑布模型(Waterfall Model):这是一种线性的、顺序的开发模型,它将软件开发过程划分为若干个阶段,每个阶段都有明确的任务和目标,并且前一个阶段的输出作为后一个阶段的输入。这种模型有利于项目管理和控制,但不利于适应需求变更。
3.快速原型模型(Rapid Prototype Model):这种模型强调快速构建软件的原型,以便在早期阶段就能获取用户反馈并进行调整。通过迭代的方式逐步完善软件,最终得到符合用户需求的产品。这种模型适合需求不明确或需求变更频繁的项目。
4.增量模型(Incremental Model):这种模型将软件划分为若干个增量,每个增量都包含一部分功能或业务逻辑。每个增量都按照瀑布模型的方法进行开发,并在完成后进行集成和测试。这种模型可以逐步交付软件,从而降低项目风险,但也可能导致软件结构复杂,难以维护。
5.螺旋模型(Spiral Model):这种模型结合了瀑布模型和快速原型模型的特点,强调在软件开发过程中进行风险评估和管理。它允许在项目的早期阶段就进行原型构建和用户反馈收集,然后根据反馈进行迭代开发。这种模型适合规模庞大、复杂且高风险的项目。
6.喷泉模型(Fountain Model):喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。喷泉模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。
7.v模型
单元测试:是模块测试,验证软件的基本组成单位的正确性,是白盒测试
集成测试:是模块间的测试,测试接口(软件各模块之间的接口和软件与硬件之间的接口)是否正确,是灰盒测试(白盒和黑盒结合)
系统测试:系统测试包括:冒烟测试 系统测试 回归测试
(1)冒烟测试:主干流程测试,确认软件的基本功能正常,可以进行后续的测试工作
(2)系统测试:是检测系统的功能、质量、性能能否满足系统的要求,包括功能、性能、界面、可靠性、兼容性等等,是黑盒测试
(3)回归测试:修改了旧代码之后重新进行测试,确认修改后的代码没有引入新的错误或导致其他代码产生新的错误
验收测试:是确保软件的实现能否满足用户的需求或合同的要求
局限性:V模型是基于瀑布模型的,V模型有一个缺点,就是将测试放在整个开发的最后阶段,没有让测试今早介入开发,没有在需求阶段就进入测试;测试与开发串行


茶色岛
62 声望1 粉丝