Manual Testing Flashcards
What do you understand by software testing ?
Software testing is a validation process which confirms that a system works as per business requirements
When should you stop the testing process?
When the testing team completes the following milestones
Test case execution - completion of full test cycle after final bug fix marks the end of the testing phase
Testing deadline - end date of validation stage also marks if there is no more critical or high priority defects remaining in the system
Code Coverage (CC) ratio - the amount of code concealed via automated tests , if team meets CC ratio , then it can choose to end the validation
What is Mean Time Between Failure (MTBF) rate?
the average amount of time that a device or product functions before failing . It only includes operational time between failtures and not repairs
What does verification mean?
Verification is process to confirm that product development is taking place per the specifications and using the standard development procedures :
process is
Inspection
Reviews
Walk-throughs
Demos
What does Validation mean?
it is a means to confirm that the developed product doesnt have any bugs and is working as expected
It comprises of
functional testing and non-functional testing
What is static testing? When does it start and what does it cover?
it is a white box testing technique that directs developers to verify their code with help of checklist to find errors in it. more cost-effective than dynamic testing - conceals more areas in a shorter time
What is black-box testing
It is a standard software testing approach that requires testers to assess the functionality of the software as per business requirements . Software is validated as if from the end-user’s point of view
What is a test plan and what does it include
a test plan stores all possible testing activities to ensure a quality product
document includes: testing objectives test scope testing the frame environment reason for testing criteria for entrance and exit deliverables risk factors
What is meant by test coverage
it is a quality metric to represent the amount of testing in percentages completed for a product
Is it possible to achieve 100% testing coverage? How would you ensure it?
It is not possible but you can set a hard limit on percent of test cases passed and number of bugs found
What are unit testing and integration testing
unit testing is the developers testing individual units or modules to check if they are working correctly
integration validates how well two or more units of software interacts with each other
What are 3 integration testing approaches
Big Bang approach - merge all the modules after testing of individual modules and verify the functionality.
Top-down approach - Testing goes from top to bottom. It first validates the High-level modules and then goes for low-level modules.
Bottom-up approach - It first tests the lowest level modules and then goes for high-level modules
Can we do system testing at any stage
no, system testing should start only if all modules are in place and work correctly . Has to be done before UAT (user acceptance testing)
What are different types of software testing
unit testing Integration regression shakeout smoke - confirms basic functionality works - most basic sanity - product runs without logical errors - like calculator app ( logic) test cases functional performance
whitebox and blackbox
alpha and beta - alpha in house dev driven test
beta - end user testing /customer feedback
system
What is the difference between a test driver and a test stub
Test driver is section of code that calls a software component under test
Test stub is a dummy program that integrates with an application to complete functionality
What is agile testing and why is it important
software testing process that evaluate software from customers POV
It does not require dev team to complete coding for starting QA
what do you know about data flow testing
it is a white box testing technique
Data flow testing emphasizes designing test cases that cover control flow paths around variable definitions and their uses in the modules.
What is the purpose of the end to end testing
it is a testing strategy to execute tests that cover every possible flow of an application from its start to finish.
The objective is to discover software dependencies to assert that the correct input is getting passed between various software modules and sub systems
What type of testing to assess the probability of a situation>
Reliability testing
What do you do when a bug turns up during testing
we can run more test to make sure the problem has a clear description
we can run more test to make sure same problem doesnt exist with different inputs
Once we are certain of the full scope of the bug, we can add details and report it
Why is it impossible to test a program thoroughly
software specifications can be subjective and can lead to different interpretations
a software program may require too many inputs outputs and path combinations
how do you test a product if the requirements are yet to be freezed?
if required specifications are not available for a product, thena test plan can be created cased based on the assumptions.
if a product is in the production stage and one of its modules gets updated, then is it necessary to regression test (ret)
it is suggested to perform regression testing adn run tests for all the other modules as well.
QA should also carry out a system testing
How will you overcome the challenges faced due to the unavailability of proper documentation for test
QAs will have to rely on :
Screenshots
A previous version of the application
Wireframes
Another reliable way is to have discussions with developer and business analyst
Smoke testing is another option because it would reveal some very basic bugs
If none of this works, we can test app from our previous experiences
Is there any difference between retesting and regression testing
retesting verifies defect fixes
regression amkes sure bug fix does break other parts of app
retesting involves execution test cases in a failed state
regression is the re-execution of passed test cases
Retesting higher priority
What are key challenges of software testing
Lack of available standard documents to understand the application
lack of skilled testers
Understanding the requirements
Decision making ability to analyze when to stop testing
Ability to work under time constraints
ability to decide which tests to execute first
Testing the entire app using an optimized number of test cases
What are different types of functional testing
unit smoke UAT Sanity Interface Integration System Regression
what are functional test cases
tests the behavior and functionality of software.