In software testing, functional testing is a practice that
provides great benefits for the development process. After being done
correctly, it improves communication between analysts, developers, and testers.
The progress of the entire project is objectively seen at any point for
management by checking the functional tests passing (and fail). Finally, the
development speed increases because the requirements that are well communicated
produce less work back. Tests also encourage more modular architecture with
subsystems that have clear responsibilities.
This blog determines the scope of various types of
functional testing, their interests and when to do. For example, smoke
testing is done on each build that is sent to QA because it verifies the
functionality at a high level while regression testing is carried out when bugs
are repaired in the next release.
Functional testing type:
Unit testing
Component testing
Smoke testing.
Integration test
Regression testing
Sanity testing.
System testing
User acceptance testing
Unit testing
Unit testing ensures that each part of the code developed in
the component provides the desired output. In testing units, developers only
view interfaces and specifications for components. This provides code
development documentation because each unit of this code is really tested
independently before advancing to another unit.
Smoke testing.
Smoke testing is carried out on the 'new' build given by the
developer to the QA team to verify whether basic functions work or not. This is
one type of important functional testing. This must be the first test to do in
new buildings. In smoke testing, the test case selected covers the most
important functionality or components. The aim is not to carry out complete
testing, but to verify that the critical functionality of the system functions
properly.
Smoke testing.
If the build passes through smoke testing, it is considered
a stable building. In a stable building, the QA team performs functional
testing for new features / functionality added and then testing regression
depends on the situation. But if the build is not stable i.e. Smoke testing
failed, the build was rejected and forwarded to the development team to correct
development problems and make new buildings. Let's understand better with an
example.
Integration test
Integration testing is done to test individual components to
check how they function together. In other words, it is done to test the module
that works well individually and does not show bugs when integrated. This is
the most common type of functional testing and done as automatic testing.
Regression testing
Every time the developer changes or modifies the function /
features, it is likely that this update can cause unexpected behavior.
Regression testing is done to ensure that changes or additions have not damaged
existing functionality. The aim is to find a bug that might be accidentally
introduced into the existing build and to ensure that the bug that was
previously deleted continued to die. There are many functional testing tools
available that support regression testing.
Sanity testing.
When a new building was received with small modifications,
instead of running a comprehensive regression test suite, we conducted a sanity
test. It determines that the actual modification has fixed the problem and
there is no further problem introduced by improvement.
System testing
System testing is a test carried out on a complete and
integrated system to evaluate its compliance with the specified requirements.
No comments:
Post a Comment