Views: 0 Author: Site Editor Publish Time: 2023-04-19 Origin: Site
API testing is also widely used by software testers,as it enables them to verify requirements independently of the GUI
implementation, often testing them early in development, and ensuring that the tests themselves adhere to clean code principles, especially the Single Responsibility Principle.It involves directly testing APIs as part of integration testing to determine whether they meet expectations for functionality,reliability, performance, and security.Since the API lacks a GUI, API testing is performed at the messaging layer.API testing is considered critical when the API is used as the main interface to the application logic.
Continuous testing is the process of performing automated testing as part of a software delivery pipeline to obtain immediate feedback on business risks associated with software release candidates.For continuous testing, the scope of testing extends from validating bottom-up requirements or user stories to evaluating system requirements in relation to overall business goals.
Graphical user interface (GUI) testing:
Many test automation tools provide record and playback capabilities that allow users to interactively record user actions and play them back multiple times to compare actual results with expected results.The advantage of this approach is that it requires little or no software development.This approach can be applied to any application with a GUI.However, reliance on these features poses major reliability and maintainability issues. Relabeling the button or moving it to another part of the window may require rerecording the test. Record and playback also often adds irrelevant activity or records some activity incorrectly.A variation of this tool is for testing websites.The "interface" here is the web page.However, such a framework uses a completely different technique, since it renders HTML and listens to DOM events instead of operating system events.Headless browsers or Selenium Web Driver based solutions are often used for this purpose.Another variation of such test automation tools is for testing mobile applications.This is very useful given the number of different sizes, resolutions and operating systems used on phones.For this variant, a framework is used to instantiate the action on the mobile device and collect the result of the action.Another variant is scriptless test automation, which does not use record and playback,but instead builds a model of the application and then enables testers to create test cases by simply inserting test parameters and conditions, which does not Scripting skills required.
The strategy that determines the amount of automated tests is the Test Automation Pyramid.This strategy suggests writing three tests with different granularities.The higher the level, the less tests to write.
Unit service and UI level.
As a solid foundation, unit testing provides robustness to software products.Testing sections of code makes it easy to write and run tests.Developers write unit tests as part of each story and integrate them with CI.
The service layer refers to services that test the application independently of the user interface.These services are anything the application does in response to some input or set of inputs.
At the top level, we have UI tests, which have fewer tests due to different properties that make it more complex to run, such as the brittleness of the tests, where a small change in the UI can break many tests and increase maintenance effort.
Unit integration and end-to-end levels
One concept of the test pyramid consists of unit tests, integration tests, and end-to-end unit tests.According to Google's testing blog, unit tests should form the majority of your testing strategy, with less integration tests and only a few end-to-end tests.
Unit tests: These tests test a single component or unit of code in isolation.They are fast, reliable, and isolate failures to small code units.
Integration tests:These tests check how different code units work together. Although individual units may work correctly individually,integration tests ensure that they work together in unison.
End-to-end tests:These tests test the system as a whole, simulating real-world usage scenarios.They are the slowest and most complex tests.