SYSTEM AND METHOD FOR SERVERLESS APPLICATION TESTING

Information

  • Patent Application
  • 20230297496
  • Publication Number
    20230297496
  • Date Filed
    June 21, 2022
    2 years ago
  • Date Published
    September 21, 2023
    a year ago
Abstract
An autonomous system and method of comprehensively testing serverless applications. The system is configured to automatically generate test scripts and test data based on deployed and modified function code and configuration files. The system is configured to work in multi-cloud environments and is able to accommodate any cloud provider. Implementation of such a system can eliminate manual errors. Furthermore, the proposed embodiments are configured to integrate with already existing devOps pipelines for rapid test execution, and can continue automated testing in real-time as modifications to the app are made.
Description
Claims
  • 1. A computer-implemented method for autonomous serverless application testing, the method comprising: receiving, at an analyzer module of a serverless application testing system, a first configuration file associated with a first function;extracting, at the analyzer module, a plurality of keywords from the first configuration file;passing, from the analyzer module and to an author module of the serverless application testing system, the plurality of keywords;generating, via the author module and based on the plurality of keywords, a first test script;receiving, at a sprinter module of the serverless application testing system, the first test script from the author module; andresponsive to receiving the first test script, executing a first test via the sprinter module based on the first test script.
  • 2. The method of claim 1, further comprising: receiving, at a producer module of the serverless application testing system, the first configuration file; andgenerating, via the producer module and based on the first configuration file, first test data.
  • 3. The method of claim 2, further comprising receiving, at the sprinter module, the first test data from the producer module, and wherein the first test is executed based on the first test script and the first test data.
  • 4. The method of claim 1, wherein each of the plurality of keywords corresponds to detection of one of a new function, a modified function, serverless framework information, and code lines which are not tested during unit testing.
  • 5. The method of claim 1, wherein the analyzer module also receives data from one or more of function code and code generated by a unit testing framework.
  • 6. The method of claim 1, further comprising: modifying the first function to produce a modified first function;detecting the modification to the first function via the analyzer module; andautomatically generating, at the author module and in response to detecting the modification, a second test script that is configured to test the modified first function.
  • 7. The method of claim 1, wherein the first function is deployed based on output from a second function, and the first test for the first function is executed using output provided by the second function.
  • 8. The method of claim 1, wherein the serverless application testing system is configured to operate in conjunction with a CI/CD pipeline in a serverless framework environment.
  • 9. The method of claim 1, wherein the analyzer module uses natural language processing techniques to extract the plurality of keywords from the first configuration file.
  • 10. The method of claim 1, further comprising: deploying a code including a plurality of functions, the plurality of functions including the first function;performing a unit test of the code; anddetermining, by the analyzer module and based on the plurality of keywords, that the first function was untested during the unit test of the code, wherein the analyzer module passes the plurality of keywords to the author module in response to determining the first function was untested.
  • 11. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to: receive, at an analyzer module of a serverless application testing system, a first configuration file associated with a first function;extract, at the analyzer module, a plurality of keywords from the first configuration file;pass, from the analyzer module and to an author module of the serverless application testing system, the plurality of keywords;generate, via the author module and based on the plurality of keywords, a first test script;receive, at a sprinter module of the serverless application testing system, the first test script from the author module; andresponsive to receiving the first test script, execute a first test via the sprinter module based on the first test script.
  • 12. The non-transitory computer-readable medium storing software of claim 11, wherein the instructions further cause the one or more computers to: receive, at a producer module of the serverless application testing system, the first configuration file; andgenerate, via the producer module and based on the first configuration file, first test data.
  • 13. The non-transitory computer-readable medium storing software of claim 12, wherein the instructions further cause the one or more computers to receive, at the sprinter module, the first test data from the producer module, wherein the first test is executed based on the first test script and the first test data.
  • 14. The non-transitory computer-readable medium storing software of claim 11, wherein each of the plurality of keywords corresponds to detection of one of a new function, a modified function, serverless framework information, and code lines which are not tested during unit testing.
  • 15. The non-transitory computer-readable medium storing software of claim 11, wherein the analyzer module also receives data from one or more of function code and code generated by a unit testing framework.
  • 16. A system for autonomous serverless application testing comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to: receive, at an analyzer module of a serverless application testing system, a first configuration file associated with a first function;extract, at the analyzer module, a plurality of keywords from the first configuration file;pass, from the analyzer module and to an author module of the serverless application testing system, the plurality of keywords;generate, via the author module and based on the plurality of keywords, a first test script;receive, at a sprinter module of the serverless application testing system, the first test script from the author module; andresponsive to receiving the first test script, execute a first test via the sprinter module based on the first test script.
  • 17. The system of claim 16, wherein the instructions further cause the one or more computers to: modify the first function to produce a modified first function;detect the modification to the first function via the analyzer module; andautomatically generate, at the author module and in response to detecting the modification, a second test script that is configured to test the modified first function.
  • 18. The system of claim 16, wherein the first function is deployed based on output from a second function, and the first test for the first function is executed using output provided by the second function.
  • 19. The system of claim 16, wherein the serverless application testing system is configured to operate in conjunction with a CI/CD pipeline in a serverless framework environment.
  • 20. The system of claim 16, wherein the analyzer module uses natural language processing techniques to extract the plurality of keywords from the first configuration file.
Priority Claims (1)
Number Date Country Kind
202241014096 Mar 2022 IN national