如何有效的开展接口自动化测试(超详细整理)

news2024/11/24 23:08:52

一、简介

接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中,通过对接口的自动化测试来提高测试效率和测试质量,减少人工测试的工作量和测试成本,并且能够快速发现和修复接口错误,确保软件系统的稳定性和可靠性。接口自动化测试可以有效地支持持续集成和持续交付,帮助团队快速交付高质量的软件产品。

二、做接口自动化前的准备

确定接口测试的范围和需求

1.确定接口测试的类型:根据软件系统的架构和功能模块,确定需要测试的接口类型,例如:Web服务接口、RESTful API接口、SOAP API接口等。

2.确定接口测试的覆盖范围:根据软件系统的需求和功能模块,确定需要测试的接口范围,包括接口的输入输出参数、异常处理、数据验证等。

3.确定接口测试的优先级和重要性:根据软件的业务需求和用户需求,确定需要优先测试的接口和重要性,例如,对于支付系统而言,支付接口的测试优先级要高于其他接口。

4.确定接口测试的质量标准:根据软件系统的质量标准和测试标准,确定需要测试的接口质量要求,例如,接口的响应时间、数据准确性、并发性能等。

5.确定接口测试的数据和环境:根据软件系统的测试需求,确定需要使用的测试数据和测试环境,例如,测试数据的来源和格式,测试环境的搭建和配置等。

综上所述,确定接口测试的范围和需求需要考虑软件系统的需求、业务规则和测试标准,以确保测试的全面性、准确性和可靠性。

确定接口测试的工具和框架

确定接口测试的工具和框架是接口自动化测试的关键步骤,以下是一些常用的工具和框架:

1.Postman:一款常用的HTTP客户端,可用于测试Web服务接口,支持多种数据格式和请求类型,可以方便地管理、调试和测试接口。

2.SoapUI:一款常用的SOAP和REST API测试工具,支持多种数据格式和请求类型,可用于测试Web服务接口和SOAP API接口。

3.JMeter:一款常用的性能测试工具,可用于测试Web服务接口和RESTful API接口,支持多种数据格式和请求类型,可以模拟大量并发请求和测试接口的性能。

4.Swagger:一款常用的API文档工具,可以用于生成API文档和测试用例,支持多种数据格式和请求类型,可以方便地管理、调试和测试接口。

5.RestAssured:一款常用的Java库,可用于编写RESTful API接口测试脚本,支持多种数据格式和请求类型,可以方便地编写高质量的测试脚本。

6.Karate:一款常用的开源API测试框架,支持多种数据格式和请求类型,可以方便地编写高效的测试脚本,并且可以与Cucumber和JUnit集成。

综上所述,确定接口测试的工具和框架需要根据软件系统的测试需求和测试用例,选择适当的工具和框架,以确保测试的全面性、准确性和可靠性。

搭建接口测试环境和配置测试数据

搭建接口测试环境和配置测试数据是接口自动化测试的关键步骤,以下是一些常用的方法:

1.搭建测试环境:根据软件系统的测试需求,搭建适当的测试环境,包括测试服务器、数据库、应用服务器等。

2.配置测试数据:根据接口测试的需求和测试用例,配置测试数据,包括测试数据的格式、来源、范围等。

3.准备测试工具和框架:根据接口测试的类型和需求,选择适当的测试工具和框架,例如,Postman、SoapUI、JMeter等。

4.编写测试脚本:根据接口测试的需求和测试用例,编写相应的测试脚本,包括测试用例的输入数据、预期结果、断言等。

5.执行测试脚本:使用测试工具和框架执行测试脚本,检查测试结果并生成测试报告。

6.分析测试报告:根据测试报告分析测试结果,发现接口错误并修复。

综上所述,搭建接口测试环境和配置测试数据需要根据软件系统的测试需求和测试用例,选择适当的测试工具和框架,以确保测试的全面性、准确性和可靠性。

三、接口自动化测试的步骤

分析接口测试用例并编写测试脚本

分析接口测试用例并编写测试脚本是接口自动化测试的关键步骤,以下是一些常用的方法:

1.分析接口测试用例:根据软件系统的需求和测试用例,分析需要测试的接口类型、输入输出参数、异常处理、数据验证等。

2.编写测试脚本:根据接口测试的需求和测试用例,编写相应的测试脚本,包括测试用例的输入数据、预期结果、断言等。

3.使用测试框架和工具:选择适当的测试框架和工具,例如,RestAssured、Karate等,以便编写高效的测试脚本。

4.考虑接口的边界条件:在编写测试脚本时,要考虑接口的边界条件,例如,输入参数的最大值、最小值、空值、特殊字符等,以确保测试的覆盖范围和准确性。

5.考虑接口的异常情况:在编写测试脚本时,要考虑接口的异常情况,例如,错误的输入参数、服务器错误、网络异常等,以确保测试的鲁棒性和可靠性。

6.编写可重复使用的测试脚本:编写可重复使用的测试脚本可以节省测试时间和提高测试效率,例如,使用参数化和数据驱动的方法,以便在多个测试用例中共享相同的测试脚本。

综上所述,分析接口测试用例并编写测试脚本需要根据软件系统的测试需求和测试用例,选择适当的测试框架和工具,以确保测试的全面性、准确性和可靠性。

执行测试脚本并生成测试报告

执行测试脚本并生成测试报告是接口自动化测试的关键步骤,以下是一些常用的方法:

1.使用测试工具和框架执行测试脚本:使用选定的测试工具和框架执行测试脚本,检查测试结果并记录测试数据。

2.生成测试报告:根据测试结果生成测试报告,报告应包括测试用例的执行状态、测试结果、错误信息、测试覆盖率等。

3.分析测试报告:根据测试报告分析测试结果,发现接口错误并修复

4.优化测试脚本和测试环境:根据测试结果和反馈优化测试脚本和测试环境,以提高测试效率和测试覆盖率。

5.自动化测试集成和持续集成:将自动化测试集成到持续集成流程中,以便在每次代码提交后自动运行测试脚本并生成测试报告。

6.定期回归测试:定期运行自动化测试脚本进行回归测试,确保系统的稳定性和可靠性。

综上所述,执行测试脚本并生成测试报告需要根据软件系统的测试需求和测试用例,选择适当的测试工具和框架,以确保测试的全面性、准确性和可靠性。同时,也需要不断优化测试脚本和测试环境,以提高测试效率和测试覆盖率。

分析测试报告并修复接口错误

分析测试报告并修复接口错误是接口自动化测试的关键步骤,以下是一些常用的方法:

1.分析测试报告:根据测试报告分析测试结果,了解测试用例的执行状态、测试结果、错误信息、测试覆盖率等。

2.发现接口错误:根据测试报告发现接口错误,例如,无法连接服务器、接口返回异常、接口数据验证失败等。

3.确认接口错误:确认接口错误是否真实存在,例如,检查输入参数和接口定义是否正确、检查服务器和网络连接是否正常等。

4.修复接口错误:根据接口错误的原因和测试报告提供的信息,修复接口错误,例如,更正输入参数、修改接口定义、修复服务器和网络连接等。

5.重新执行测试脚本并生成测试报告:修复接口错误后,重新执行测试脚本并生成测试报告,检查接口错误是否已经解决。

6.优化测试脚本和测试环境:根据测试结果和反馈优化测试脚本和测试环境,以提高测试效率和测试覆盖率。

7.定期回归测试:定期运行自动化测试脚本进行回归测试,确保系统的稳定性和可靠性。

综上所述,分析测试报告并修复接口错误需要根据测试报告发现接口错误,确认接口错误,修复接口错误并重新执行测试脚本并生成测试报告。同时,也需要不断优化测试脚本和测试环境,以提高测试效率和测试覆盖率。

迭代测试并持续集成

迭代测试和持续集成是接口自动化测试的重要环节,以下是一些常用的方法:

1.迭代测试:将接口自动化测试纳入到软件系统的迭代开发流程中,每次迭代后重新运行自动化测试脚本进行回归测试,以确保新开发的功能不会影响系统的稳定性和可靠性。

2.持续集成:将接口自动化测试集成到持续集成(CI/CD)流程中,每次代码提交后自动运行测试脚本并生成测试报告,以便及早发现和修复接口错误。

3.自动化测试工具集成:选择适当的自动化测试工具,并将其集成到持续集成流程中,以便自动化运行测试脚本并生成测试报告。

4.自动化测试覆盖率:考虑自动化测试的覆盖率,包括功能覆盖、代码覆盖、接口覆盖等,以确保测试的全面性和准确性。

5.定期回归测试:定期运行自动化测试脚本进行回归测试,以确保系统的稳定性和可靠性。

6.优化测试脚本和测试环境:根据测试结果和反馈优化测试脚本和测试环境,以提高测试效率和测试覆盖率。

综上所述,迭代测试和持续集成需要将接口自动化测试纳入到软件系统的迭代开发流程和持续集成流程中,选择适当的自动化测试工具并考虑自动化测试的覆盖率,定期运行自动化测试脚本进行回归测试,以确保系统的稳定性和可靠性。同时,也需要不断优化测试脚本和测试环境,以提高测试效率和测试覆盖率。

四、接口自动化测试的技巧

选择合适的接口测试工具和框架

选择合适的接口测试工具和框架是接口自动化测试的关键步骤,以下是一些常用的方法:

1.考虑测试需求:根据测试需求选择适当的测试工具和框架,例如,某些测试工具和框架支持 Web 接口测试,某些支持 RESTful 接口测试等。

2.考虑技术栈:考虑技术栈选择适当的测试工具和框架,例如,某些测试工具和框架支持 Python 脚本,某些支持 Java 脚本等。

3.考虑易用性和可扩展性:选择易于使用和可扩展的测试工具和框架,例如,某些测试工具和框架提供了简单易用的界面,某些支持插件和扩展等。

4.考虑社区支持:选择有活跃社区支持的测试工具和框架,例如,有许多开源测试工具和框架拥有大量的社区支持,提供了许多示例和文档,便于学习和使用。

5.考虑性能测试:如果需要进行接口性能测试,选择适当的测试工具和框架,例如,某些测试工具和框架可以模拟大量的并发请求,以测试接口的性能和稳定性。

综上所述,选择合适的接口测试工具和框架需要考虑测试需求、技术栈、易用性和可扩展性、社区支持和性能测试等因素。选择适当的测试工具和框架可以提高测试效率和测试覆盖率,以确保软件系统的稳定性和可靠性。

编写高质量的测试脚本和测试数据

编写高质量的测试脚本和测试数据是接口自动化测试的关键步骤,以下是一些常用的方法:

1.编写清晰简洁的测试脚本:测试脚本应该遵循良好的编程习惯,例如,命名规范、注释清晰、代码简洁等,以便于维护和修改。

2.编写可重用的测试脚本:测试脚本应该尽可能地避免重复代码,可以将一些公共函数和库封装成可重用的代码,以提高测试效率和可维护性。

3.编写有效的测试数据:测试数据应该具有合理性、准确性和完整性,以确保测试覆盖率和测试准确性。同时,也需要考虑数据的安全性和保密性。

4.编写可扩展的测试数据:测试数据应该尽可能地避免硬编码,可以将一些测试数据封装成变量或配置文件中,以便于扩展和修改。

5.编写针对性的测试用例:测试用例应该针对性地测试不同的接口功能和场景。同时,也需要考虑异常情况和边界值情况,以确保测试覆盖率和测试准确性。

综上所述,编写高质量的测试脚本和测试数据需要遵循良好的编程习惯,尽可能地避免重复代码和硬编码,考虑数据的安全性和保密性,针对性地测试不同的接口功能和场景,以确保测试覆盖率和测试准确性。同时,也需要不断优化测试脚本和测试数据,以提高测试效率和测试覆盖率。

优化测试执行效率和稳定性

优化测试执行效率和稳定性是接口自动化测试的重要目标,以下是一些常用的方法:

1.并发执行测试脚本:通过并发执行测试脚本,可以提高测试效率和测试覆盖率。可以使用多线程或分布式测试框架实现并发执行测试脚本。

2.优化测试环境:测试环境应该与生产环境相似,以确保测试的准确性和稳定性。同时,也需要考虑测试环境的配置和性能,以提高测试效率和测试稳定性。

3.选择合适的测试工具和框架:选择高效的测试工具和框架,可以提高测试效率和测试稳定性。例如,一些测试工具和框架支持并发执行测试脚本和失败重试机制,可以提高测试稳定性。

4.优化测试数据:测试数据应该合理且完整,以确保测试覆盖率和测试准确性。同时,也需要考虑测试数据的大小和复杂度,以提高测试效率和测试稳定性。

5.监控测试执行情况:监控测试执行情况可以及时发现测试执行异常和错误,以提高测试稳定性。可以使用日志、报告和监控工具等实现测试执行情况的监控。

综上所述,优化测试执行效率和稳定性需要并发执行测试脚本、优化测试环境、选择合适的测试工具和框架、优化测试数据和监控测试执行情况等。通过不断优化测试执行效率和稳定性,可以提高测试效率和测试覆盖率,以确保软件系统的稳定性和可靠性。

提高测试覆盖率和准确性

提高测试覆盖率和准确性是接口自动化测试的重要目标,以下是一些常用的方法:

1.编写全面的测试用例:编写全面的测试用例可以覆盖接口的不同功能和场景,包括正常流程、异常情况和边界值情况等,以提高测试覆盖率和准确性。

2.使用数据驱动测试:使用数据驱动测试可以通过不同的测试数据来测试接口的不同场景,以提高测试覆盖率和准确性。可以使用数据文件或数据库等来存储测试数据。

3.使用接口模拟工具:使用接口模拟工具可以模拟接口的不同场景和异常情况,以提高测试覆盖率和准确性。例如,可以使用 WireMock、MockServer 等来模拟接口的返回结果和响应时间等。

4.结合手工测试:结合手工测试可以发现接口自动化测试中无法覆盖的测试场景,以提高测试覆盖率和准确性。同时,也需要对手工测试进行记录和管理,以便于后续测试执行和维护。

5.定期回归测试:定期回归测试可以发现接口在不同版本和环境中的变化和异常情况,以提高测试覆盖率和准确性。可以使用自动化测试工具和脚本实现定期回归测试。

综上所述,提高测试覆盖率和准确性需要编写全面的测试用例、使用数据驱动测试、使用接口模拟工具、结合手工测试和定期回归测试等。通过不断提高测试覆盖率和准确性,可以发现更多的接口问题和异常情况,提高软件系统的稳定性和可靠性。

五、接口自动化测试的挑战和解决方案

接口变更和维护成本

接口变更和维护成本是接口自动化测试中需要面对的挑战,以下是一些常用的方法:

1.使用版本控制工具:使用版本控制工具可以管理接口的版本和变更历史,以便于追踪和回滚接口的变更。可以使用 Git、SVN 等版本控制工具。

2.编写可维护的测试脚本和测试数据:编写可维护的测试脚本和测试数据可以降低接口变更的维护成本。测试脚本和测试数据应该遵循良好的编程习惯,尽可能地避免重复代码和硬编码,考虑数据的安全性和保密性,以提高测试效率和可维护性。

3.使用接口文档和契约测试:使用接口文档和契约测试可以明确接口的规范和约束,以确保接口的稳定性和兼容性。可以使用 Swagger、OpenAPI 等接口文档工具,使用 Pact、OpenAPI Test 等契约测试工具。

4.定期重构测试脚本和测试数据:定期重构测试脚本和测试数据可以优化测试代码和数据,以提高测试效率和可维护性。可以使用代码分析工具、测试覆盖率工具等来发现和优化测试代码和测试数据。

5.定期执行回归测试:定期执行回归测试可以发现接口变更引起的问题,以及测试脚本和测试数据的维护问题。可以使用自动化测试工具和脚本实现定期回归测试。

综上所述,降低接口变更和维护成本需要使用版本控制工具、编写可维护的测试脚本和测试数据、使用接口文档和契约测试、定期重构测试脚本和测试数据和定期执行回归测试等。通过不断优化接口自动化测试流程和方法,可以降低接口变更和维护成本,提高软件系统的稳定性和可靠性。

接口并发和性能测试

接口并发和性能测试是接口自动化测试中需要关注的重要点,以下是一些常用的方法:

1.使用性能测试工具:使用性能测试工具可以模拟多用户并发访问接口,以测试接口的性能和承载能力。可以使用 JMeter、LoadRunner 等性能测试工具。

2.编写性能测试脚本和测试数据:编写性能测试脚本和测试数据可以模拟不同的用户场景和数据负载,以测试接口的性能和承载能力。性能测试脚本和测试数据应该遵循良好的编程习惯,尽可能地避免重复代码和硬编码,考虑数据的安全性和保密性,以提高测试效率和可维护性。

3.优化接口性能:优化接口性能可以提高接口的响应速度和承载能力,以满足不同的用户需求。可以使用缓存、负载均衡、数据库优化等技术来优化接口性能。

4.定期执行性能测试:定期执行性能测试可以发现接口的性能问题和瓶颈,以及优化接口性能的效果。可以使用自动化测试工具和脚本实现定期性能测试。

5.结合监控和日志分析:结合监控和日志分析可以实时监测接口的性能和运行情况,以及发现性能问题和瓶颈。可以使用监控工具和日志分析工具。

综上所述,进行接口并发和性能测试需要使用性能测试工具、编写性能测试脚本和测试数据、优化接口性能、定期执行性能测试和结合监控和日志分析等。通过不断优化接口的性能和承载能力,可以提高软件系统的稳定性和可靠性,满足不同用户的需求。

接口安全和鉴权测试

接口安全和鉴权测试是接口自动化测试中需要关注的重要点,以下是一些常用的方法:

1.测试接口的安全性:测试接口的安全性可以发现接口存在的安全问题和漏洞,以及提高接口的安全性和保密性。可以使用模拟攻击、漏洞扫描等技术来测试接口的安全性。

2.测试接口的鉴权:测试接口的鉴权可以验证接口的访问权限和身份认证,以保证接口的安全和合法性。可以使用账号密码认证、Token 鉴权等技术来测试接口的鉴权。

3.测试接口的输入参数:测试接口的输入参数可以验证接口的输入参数的正确性和安全性,以防止攻击和恶意输入。可以使用边界值测试、异常值测试等技术来测试接口的输入参数。

4.测试接口的输出结果:测试接口的输出结果可以验证接口的输出结果的正确性和安全性,以防止攻击和恶意获取信息。可以使用断言验证、数据验证等技术来测试接口的输出结果。

5.定期执行安全和鉴权测试:定期执行安全和鉴权测试可以发现接口的安全问题和鉴权问题,以及提高接口的安全性和保密性。可以使用自动化测试工具和脚本实现定期安全和鉴权测试。

综上所述,进行接口安全和鉴权测试需要测试接口的安全性、测试接口的鉴权、测试接口的输入参数、测试接口的输出结果和定期执行安全和鉴权测试等。通过不断优化接口的安全性和鉴权,可以提高软件系统的稳定性和可靠性,保障用户数据的安全和保密性。

结合其他测试类型和工具进行综合测试

结合其他测试类型和工具进行综合测试可以提高测试效率和测试质量,以下是一些常用的方法:

1.结合UI自动化测试:结合UI自动化测试可以验证接口和界面之间的交互和数据传递,以提高测试覆盖率和测试质量。可以使用Selenium、Appium等UI自动化测试工具。

2.结合性能测试:结合性能测试可以验证接口的性能和承载能力,以提高软件系统的稳定性和可靠性。可以使用JMeter、LoadRunner等性能测试工具。3.结合安全测试:结合安全测试可以验证接口的安全性和鉴权,以保证用户数据的安全和保密性。可以使用模拟攻击、漏洞扫描等安全测试工具。

4.结合移动端测试:结合移动端测试可以验证接口在移动设备上的兼容性和稳定性,以提高用户体验和软件质量。可以使用Appium等移动端测试工具。

5.结合API文档和测试管理工具:结合API文档和测试管理工具可以提高测试效率和测试协作性,以便于测试人员和开发人员之间的沟通和协作。可以使用Swagger、Postman等API文档工具和Jira、TestRail等测试管理工具。

综上所述,结合其他测试类型和工具进行综合测试可以提高测试效率和测试质量,通过不断优化测试流程和测试方法,可以提高软件系统的稳定性和可靠性,满足不同用户的需求。

六、总结

接口自动化测试的价值

接口自动化测试是软件测试中的重要环节,它可以提高测试效率、降低测试成本、提高测试覆盖率和测试质量,具有以下价值:

1.提高测试效率:接口自动化测试可以实现测试自动化,减少手动测试的工作量和时间,提高测试效率和测试速度。

2.降低测试成本:接口自动化测试可以减少测试人员的工作量和测试成本,提高测试效率和测试质量。

3.提高测试覆盖率:接口自动化测试可以覆盖更广泛的测试场景和测试用例,提高测试覆盖率和测试质量。

4.提高测试质量:接口自动化测试可以减少人为因素的干扰,提高测试准确性和测试可重复性,提高测试质量和软件质量。

接口自动化测试的未来趋势

1.更加智能化:接口自动化测试将更加注重人工智能、机器学习等技术的应用,实现更加智能化的测试流程和测试方法。

2.更加自动化:接口自动化测试将更加注重自动化测试工具和框架的开发和应用,实现更加自动化的测试流程和测试方法。

3.更加多样化:接口自动化测试将更加注重适应不同的测试场景和测试用例,实现更加多样化的测试流程和测试方法。

4.更加标准化:接口自动化测试将更加注重测试标准和规范的制定和应用,实现更加标准化的测试流程和测试方法。综上所述,接口自动化测试具有重要的价值和未来的发展趋势,通过不断优化测试流程和测试方法,可以提高软件系统的稳定性和可靠性,满足不同用户的需求。

总结接口自动化测试的经验和教训

经验

1.需要有完整的测试计划和测试用例,保证测试覆盖率和测试准确性。

2.需要选择合适的自动化测试工具和框架,提高测试效率和测试质量。

3.需要编写稳定和可靠的自动化测试脚本,避免测试失败和测试误判。

4.需要进行定期的测试结果分析和测试反馈,及时修复和优化测试问题。

5.需要和开发人员、产品人员等进行有效的沟通和协作,保证测试效果和软件质量。

教训

1.不要过度依赖自动化测试,需要进行手动测试和人工审核,保证测试质量和测试准确性。

2.不要忽略测试数据的准备和管理,需要保证测试数据的准确性和一致性。

3.不要忽略测试环境的准备和管理,需要保证测试环境的稳定性和一致性。

4.不要忽略测试用例的维护和更新,需要保证测试用例的覆盖率和有效性。

5.不要忽略测试结果的分析和优化,需要及时修复和优化测试问题。

提出进一步优化和改进的建议

针对接口自动化测试,我们可以提出以下进一步优化和改进的建议:

1.引入更多的自动化测试工具和框架,进行更加全面和深入的测试覆盖。

2.加强测试用例的管理和维护,保证测试用例的完整性和有效性。

3.采用更加智能化的测试方法和技术,如机器学习、自然语言处理等,提高测试效率和测试质量。

4.引入更多的自动化测试场景和测试用例,如异常场景、负载场景、并发场景等,提高测试覆盖率和软件质量。

5.加强测试环境和测试数据的管理,保证测试环境的稳定性和一致性,保证测试数据的准确性和一致性。

6.加强测试结果的分析和反馈,及时修复和优化测试问题,提高测试质量和软件质量。

7.加强测试和开发人员之间的沟通和协作,保证测试效果和软件质量。

通过以上建议的实施,可以进一步优化和改进接口自动化测试,提高测试覆盖率和测试质量,提高软件系统的稳定性和可靠性,满足不同用户的需求。

学习上

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1433974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

事务和连接池配合使用存在的问题

文章目录 前言例子结果源码 前言 今天讨论一个问题,如果全部方法都加上事务,会不会有问题? 前两天看到一个老项目,xml方式的配置,拦截了所有的方法,增加了事务,不能说它的做法有问题&#xff…

〔Part1〕YOLOv5:原理+源码分析(配置文件、网络模块、损失函数、跨网格匹配策略)

1. 前置知识 1.1 YOLO 算法的基本思想 首先通过特征提取网络对输入图像提取特征,得到一定大小的特征图,比如 13x13(相当于416x416 图片大小),然后将输入图像分成 13x13 个 grid cells: YOLOv3/v4&#xf…

WebAssembly002 IDBFS 浏览器文件存储

1.文件系统 文件系统 API官方文档 https://emscripten.org/docs/api_reference/Filesystem-API.htmlJavaScript 通常在 Web 浏览器的沙盒环境中运行,没有 直接访问本地文件系统。Emscripten 模拟了一个文件系统。要访问的文件应预加载或嵌入到虚拟文件系统中。 2.…

从奥迪Quattro到碧然德:揭秘技术品牌成功打造与推广的秘诀

在当前全球化和信息化快速发展的背景下,技术品牌的打造不仅是企业竞争力提升的重要途径,也是企业实现长远发展的基石。通过深入剖析,我们认识到,技术品牌的建设并非一蹴而就的过程,而是需要企业准确把握市场趋势&#…

全球十大优质黄金期货交易平台app软件排行榜(2024版)

对于选择黄金期货交易平台app软件,有几个关键因素需要考虑。首先是app平台的声誉和信誉度;其次是app平台的交易费用和手续费。 第三是app平台的交易品种和交易功能;第四是app平台的安全性和风险控制措施;最后还要考虑app平台的客…

论文阅读-一个用于云计算中自我优化的通用工作负载预测框架

论文标题:A Self-Optimized Generic Workload Prediction Framework for Cloud Computing 概述 准确地预测未来的工作负载,如作业到达率和用户请求率,对于云计算中的资源管理和弹性非常关键。然而,设计一个通用的工作负载预测器…

Redis核心技术与实战【学习笔记】 - 24.Redis 数据分片方案选择:Codis 和 Redis Cluster

简述 Redis 的切片集群使用多个实例保存数据,能很好的应对大数据量的场景。在《4.Redis 切片集群》中,介绍了 Redis 官方提供的切片集群方法 Redis Cluster。本章,再来学习下,在 Redis Cluster 方案正式发布前,业界广…

C#,纽曼-康韦数(Newman Conway Number)的算法与源代码

John Henrry Newman 1 纽曼-康韦数 纽曼-康韦数(Newman Conway Number)序列是生成以下整数序列的序列。 1 1 2 2 3 4 4 4 5 6 7 7… 在数学上,纽曼-康韦数的序列P(n)由递推关系定义: (1) P&#xff08…

【C++历练之路】二叉搜索树的学习应用及其实现

W...Y的主页 😊 代码仓库分享💕 前言🍔: 我们之前学过一些查找关键数据的办法,排序二分查找。但是这种方法的插入的时间复杂的太高,今天我们来学习一个更好的办法来应对数据查找——二叉搜索树。 目录…

深入实战:ElasticSearch的Rest API与迭代器模式在高效查询中的应用

在我们公司,大多数Java开发工程师在项目中都有使用Elasticsearch的经验。通常,他们会通过引入第三方工具包或使用Elasticsearch Client等方式来进行数据查询。然而,当涉及到基于Elasticsearch Rest API的/_sql?formatjson接口时,…

Fink CDC数据同步(一)环境部署

1 背景介绍 Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。 Flink CDC 是 Apache Flink 的一组源连接器,基于数据库日志的…

【深度学习】从0完整讲透深度学习第2篇:TensorFlow介绍和基本操作(代码文档已分享)

本系列文章md笔记(已分享)主要讨论深度学习相关知识。可以让大家熟练掌握机器学习基础,如分类、回归(含代码),熟练掌握numpy,pandas,sklearn等框架使用。在算法上,掌握神经网络的数学原理,手动实…

leetcode(滑动窗口)3.无重复字符的最长字串(C++)DAY2

文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示…

机器学习笔记-集成学习

机器学习笔记-集成学习 随机森林随机森林bagging和boostingGBDT 随机森林 随机森林 mac上optionenter即可导入包随机森林就是bagging决策树 总结 bagging和boosting 公式和例子 GBDT

Facebook的数字合作愿景:创新与未来发展

随着科技的飞速发展,Facebook一直处于数字创新的前沿,致力于构建开放、智能、社交的数字社交体验。本文将深入探讨Facebook的数字合作愿景,探索其在创新与未来发展方面的雄心壮志。 引言 在当今数字化时代,社交媒体不仅是人们沟通…

2 月 5 日算法练习- 字符串

人物相关性分析 思路:枚举前缀和。枚举字符串中的 Bob 位置利用前缀和来记录,然后枚举 Alice 的位置,通过判断 Bob 在 Alice 前面还是后面来进行不同的前缀和差值计算距离 k 距离中 Bob 的个数求和就是答案,复杂度是 On。注意 Bob…

Ubuntu使用Docker部署Nginx并结合内网穿透实现公网远程访问

文章目录 1. 安装Docker2. 使用Docker拉取Nginx镜像3. 创建并启动Nginx容器4. 本地连接测试5. 公网远程访问本地Nginx5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 在开发人员的工作中,公网远程访问内网是其必备的技术需求之一。对于…

OpenResty 安装

安装OpenResty 1.安装 首先你的Linux虚拟机必须联网 1)安装开发库 首先要安装OpenResty的依赖开发库,执行命令: yum install -y pcre-devel openssl-devel gcc --skip-broken2)安装OpenResty仓库 你可以在你的 CentOS 系统中…

Redis核心技术与实战【学习笔记】 - 14.Redis 旁路缓存的工作原理及如何选择应用系统的缓存类型

概述 我们知道,Redis 提供了高性能的数据存取功能,广泛应用在缓存场景中,既可以提升业务的响应速度,又可以避免把高并发的请求发送到数据库。 如果 Redis 做缓存时出现了问题,比如说缓存失效,那么&#x…

【LeetCode: 292. Nim 游戏+ 博弈问题】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…