0% found this document useful (0 votes)
3 views6 pages

Software Testing Short Notes

The document outlines the fundamentals of software testing, emphasizing its role in improving software reliability by identifying and removing errors. It details various testing categories, methodologies, and life cycles, including manual and automated testing, as well as levels of testing such as unit, integration, and system testing. Additionally, it distinguishes between functional and non-functional testing, and discusses techniques like regression testing, verification, and validation.

Uploaded by

pc962824
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views6 pages

Software Testing Short Notes

The document outlines the fundamentals of software testing, emphasizing its role in improving software reliability by identifying and removing errors. It details various testing categories, methodologies, and life cycles, including manual and automated testing, as well as levels of testing such as unit, integration, and system testing. Additionally, it distinguishes between functional and non-functional testing, and discusses techniques like regression testing, verification, and validation.

Uploaded by

pc962824
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

SOFTWARE TESTING SHORT NOTES

THE PSYCHOLOGY OF TESTING


Testing is the process of executing a program with the intent of finding errors.
You test a software to add value to it. Adding value means raising reliability. Raising
reliability means finding and removing errors.

An unsuccessful test is the one that causes the program to produce correct results without
finding errors.
Software testing is a process of no end since it is impossible to find all the errors within a
software, for the reason when to stop testing a software?
1. When a predefined number of errors have been detected
2. When a certain level of confidence in software quality is reached.

CATEGORIES OF SOFTWARE TESTING


1. Manual testing
2. Automation test

MANUAL TESTING
STEPS
1. Analyse the requirements
2. Test planning
3. Test case creation
4. Test execution
5. Test report
MANUAL TESTING
1. Analyze the requirements
2. Test planning
3. Test case creation
4. Test execution
5. Test report

OBJECTIVES OF SOFTWARE TESTING


1. Finding defects
2. Ensuring good quality product
3. Making sure that it meets product requirement
4. Making sure that the software is fit for use.

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)


Phases in software development life cycle
1. Requirement gathering & analysis
2. Design
3. Development
4. Test
5. Deploy
6. Maintenance

SOFTWARE TESTING LIFE CYCLE (STLC)


Phases in software testing lifecycle
1. Requirement analysis
2. Test planning
3. Test case design and development
4. Test involvement setup
5. Test execution
6. Test report
7. Test closure

SOFTWARE TESTING MODELS


a. WATERFALL MODEL
Phases in waterfall model
1. Requirement phase
2. Global design
3. Detail design
4. Coding phase
5. Test
6. Deploy
7. maintanance
In the waterfall model you can't start the next phase until the current phase is complete.
The test is only done in the testing phase which brings a lot of disadvantages e.g
The cost of defects is very late and high.

b. V-MODEL
Phases in V-model
1. Requirement
1. User acceptance (user acceptance test)
2. System analysis and design
2. System test (system test cases)
3. Global design
3. Integration testing (integration test)
4. Detailed design
[Link] test (unit test)
5. coding

C. ITERATIVE DEVELOPMENT MODEL


In iterative module has smaller phases/ iterations in repetitive cycle to develop and test the
software.

LEVELS OF SOFTWARE TESTING


1. Unit testing
Testing each standby component with a software
2. Integration testing
All the tested stand by components are put in one module
3. System testing
After unit and integration testing is done, a system test comes in. In a system test
there could be a system test or systems integration test depending on the types of software
you are building.
4. User acceptance testing
This is done by the customers or system users

WHAT IS A UNIT TESTING


A unit is a stand alone part in a software that can be tested independently.

WHAT IS INTERGRATION TESTING


This is a test of all the tested units within a software in one module.

WHAT IS SYSTEM TESTING


This is testing the system as a whole. In a system testing, if the system is designed to
integrate with other third party systems then you’ll do a system integration test except if it is
a stand alone system you’ll do a system test.

WHAT IS ACCEPTANCE TESTING


This is the last part of testing in software testing. Done by the end users of the system,
clients or customers.

TYPES OF SOFTWARE TESTING


Types of testing can be categorised into either function testing and Non functional testing
category. A functional test is basically about the functionality of the system. A non functional
testing tests the non functional areas of the system. For example;
Provided an e-commerce app to be tested and you want to start with the registration area
first. To test the functionality you’ll test whether the unit is doing what it was supposed to be
doing like logging in while as a non functional test you’ll test the performance of it for
example how long is it taking to log in.

WHATS FUNCTIONAL TESTING


Process of verifying the functionality of a software.

WHATS BLACK BOX TESTING


Process of testing the system by providing the inputs and expecting certain output without
knowing the internal code.

WHATS WHITE BOX TESTING


Process of testing a system with knowledge about the internal code. Also known as glass
box testing.

BLACK BOX VS WHITE BOX


1. Done by software 1. Mostly done by
testers developers
2. Internal code not 2. Internal code
known known
3. Types: 3. Types:
A. Acceptance A. Statement
B. System B. Condition
C. Regression C. Branch

WHATS NON FUNCTIONAL TESTING


Test the responsiveness and stability of the system.
In functional testing you test to verify its functionality while in non functional testing you test
to verify how responsive and stable the functionality is.

TYPES OF NON FUNCTIONAL TESTING


A. Load testing
Verifying as per customers requirement the responsive time should be within the
limit.
B. Stress testing
How Much load is is the system going to handle when you increase the load and at
what point is it going to crush.
C. Soak testing
Running the test for extended period of time on the peak load.
D. Volume testing
Verifying the behaviour of the application when you overload the database.
E. Spike testing
Verifying the behaviour of the system when there is spiking in the system.

WHATS REGRESSION TESTING


Is the testing which is performed to ensure that the existing functionality of the software or
application works as expected if there is any new code introduction or new functionality is
added in the application.

WHEN TO DO REGRESSION TESTING


1. When new functionality is added
2. When defects are fixed
3. Code refactoring
4. config changes

TECHNIQUES OF REGRESSION TESTING


1. Select all the test cases
2. Regression test selection
3. Prioritse test cases

HOW TO SELECT REGRESSION TEST CASES


1. Frequently used functionalities
2. High priority
3. Integration cases
4. Select test cases as per module

REGRESSION TEST IN AGILE DEVELOPMENT


A SCRAM is a 2 to 4 weeks development cycle.
A SPRINT is a set of stories or features that are carried out in the scram.
STORIES are the requirements in the agile development or scram.

RETESTING VS REGRESSION TESTING


Retesting is testing same failed test cases again.

SMOKE TESTING VS SANITY TESTING

VERIFICATION(Static) AND VALIDATION(Dynamic) IN SOFTWARE TESTING


1. VERIFICATION
Verification is the process of checking the document manually(srs, plans, design, code…)
Finding Bugs/Defects early in cycle.
Cost of defects is less
TYPES: a. Reviews
b. Tech reviews
c. Inspection
d. Code reviews
2. VALIDATION
Testing the produc functionality by executing.
Involves code execution to validate the functionality.
Finding bugs/defects during dynamic test
Cost of defects is high
TYPES: a. Unit testing
b. Integration testing
c. System test
d. Acceptance
e. Regression test

END TO END SOFTWARE TESTING


Testing all the integrated functionalities within the system.

WHAT IS A TEST CASE


Set of step you write to verify the functionality of a system meet the requirements.

KEY FEATURES OF A TEST CASE


[Link] a Title.
2. Contains description
3. Contain prerequisite
4. Contain test data
5. Contain test steps
6. Expected result

You might also like