How do you identify test cases for regression testing?
Following may be few reasons how we can choose regression
test cases
Test cases which verify the core functionality of the
project
Test cases related to the functionality changes undergone
recently
Commonly used production scenarios to be included as part of
regression test cases
If there are automated test cases for IT and ST included all
the test cases as part of regression.
How to avoid re-occurring defects?
Every defects need to be discussed and identify the root
cause of the defects. Then come out with the action plan which is systemic and
the changes have to be implemented so that the defects will not re-occur.
How to optimize test cases?
How to write re-usable test cases?
What is the difference between alpha and beta testing?
Alpha Testing: This is a form of internal acceptance testing
performed mainly by the in-house software QA and testing teams. Alpha testing
is the last testing done by the test teams at the development site after the acceptance
testing and before releasing the software for beta test. Alpha testing can also
be done by the potential users or customers of the application. But still,
this is a form of in-house acceptance testing.
Beta Testing: This is a testing stage followed by the
internal full alpha test cycle. This is the final testing phase where the
companies release the software to few external user groups outside the company
test teams or employees. This initial software version is known as the beta
version. Most companies gather user feedback in this release.
What is the difference between white box and black box
testing?
White box testing is generally done by the developers who
know the internal algorithm or know how of the code and they test each path,
branch and statements to ensure the code works in different test condition.
Their main aim is to cover as much code as possible during their testing and
ensure the functionality works as per the given requirements.
Whereas black box testing is done by the testing team after
the code freeze and here the team may not look into how the code is written and
their main focus is to ensure all the requirements / scenarios works as per the
expected results. Testing done post coding and unit testing like Integration testing,
System testing, Performance testing, User acceptance testing falls under black
box testing.
Difference between functional and non-functional testing
Functional testing is done to ensure the system works as per
the agreed requirements and this is done by the testing team post coding phase.
There are 2 types of functional testing one is positive functional testing as
explained earlier which ensures when valid inputs are provided to the system,
the system works as per the requirements. Second type of the functional testing
is called as negative functional testing where the testers gives invalid inputs,
unanticipated operating condition and other invalid operations.
Non-functional testing is designed to figure out if your
product will provide a good user experience. For example, non-functional tests
are used to determine how fast the product responds to a request or how long it
takes to do an action. Examples of non-functional tests include:
Load/Performance Testing
Compatibility Testing
Localization Testing
Security Testing
Reliability Testing
Stress Testing
Usability Testing
Compliance Testing
Difference between system testing and system integration
testing?
Integration testing is done right after the coding and here
all the modules are integrated and tested to ensure the system works as per the
requirements and here stubs and drivers are used to replace the requirements of
external feeds or systems.
System testing is done after integration testing where the
scope of the testing is to test the system end to end with all the modules and
external systems in place. This test ensures all the functional and
non-functional requirement are tested and system meets all these requirements.
Difference between smoke testing and sanity testing?
Smoke Testing is
a kind of Software Testing performed after software build to ascertain that the
critical functionalities of the program is working fine. It is executed
"before" any detailed functional or regression tests are executed on the
software build. The purpose is to reject a badly broken application, so that
the QA team does not waste time installing and testing the software
application.
In Smoke Testing, the test cases chosen cover the most
important functionality or component of the system. The objective is not to
perform exhaustive testing, but to verify that the critical functionalities of
the system is working fine.
For Example a typical smoke test would be - Verify that the application
launches successfully, Check that the GUI is responsive ... etc.
Sanity testing is a kind of Software Testing performed after
receiving a software build, with minor changes in code, or functionality, to
ascertain that the bugs have been fixed and no further issues are introduced
due to these changes. The goal is to determine that the proposed functionality
works roughly as expected. If sanity test fails, the build is rejected to save
the time and costs involved in a more rigorous testing.
The objective is "not" to verify thoroughly the
new functionality, but to determine that the developer has applied some
rationality (sanity) while producing the software. For instance, if your
scientific calculator gives the result of 2 + 2 =5! Then, there is no point
testing the advanced functionalities like sin 30 + cos 50
No comments:
Post a Comment