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

Comprehensive Guide to Software Testing

Software testing is a procedure to verify that actual results match expected results, aiming to ensure software quality and defect removal. It includes manual and automation testing, with objectives such as reducing errors and confirming software meets specifications. The document also covers verification and validation processes, testing strategies, types of testing, and the importance of usability and maintenance in software development.
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 views10 pages

Comprehensive Guide to Software Testing

Software testing is a procedure to verify that actual results match expected results, aiming to ensure software quality and defect removal. It includes manual and automation testing, with objectives such as reducing errors and confirming software meets specifications. The document also covers verification and validation processes, testing strategies, types of testing, and the importance of usability and maintenance in software development.
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

6.

1 SOFTWARE TESTING

(Source: [Link])

* Software testing is a procedure to verify whether the actual results are


same as expected results.

* Software testing is performed to provide assurance that the software


system does not contain any defects.

* Defects means errors which are detected by tester when actual result of
our software module is not identical as expected result.

* To perform software testing we create test cases and test data.

* Collection of test cases is called as test suit.

* Test data is the input provided to modules which are present in our
software product.

* Sometimes test data is used for positive testing.

* Sometimes test data is used for negative testing.

6.1.1 Advantages of Software Testing

GQ. What are the advantages of Software Testing? (5 Marks)

* Testing reduces the possibility of software failure by removing errors.

* Testing process removes maximum possible errors and helps to deliver


qualitative software to customer.

* Testing ensures correctness and completeness of software along with


quality.

* Testing allows us to verify and validate the software.

* Testing enables the software to produce expected outcome by removing


errors.

6.1.2 Types of Software Testing

GQ. Write note on Manual and Automation Testing (10 Marks)

Software Testing is divided in to two categories:

1. Manual Testing

* Tester treat himself as end user and use every module of application to
check application behavior.

* In manual testing, tester manually runs all the test cases without help
of any automation testing tools.
2. Automation Testing

* Automation Testing is the process of using various automation tools for


executing test cases.

6.1.5 Objectives of Software Testing

(Source: [Link])

UQ. What are the objectives of testing?

* To reduce the probability of errors being generated by the programmer


while doing coding of software.

* To provide assurance that the software product is secure.

* To make sure that we deliver quality software product to our end user.

* To give assurance that it satisfies requirements present in the BRS


(Business Requirement Specification) and SRS (System Requirement
Specification).

* To make sure that we are giving our customers a quality software


product which must be user friendly and fulfills all the requirements and
expectations of customer.

6.1.6 Software Testing Process

GQ. Explain the software testing process in detail. (10 Marks)

* Software testing process is a sequence of activities that must be


performed to certify a software system.

* The phases are: Requirements analysis, Test planning, Test case


development, Environment setup, Test execution, Test cycle closures.

* Entry criteria: Defined conditions that must be satisfied before testing


begins.

* Exit criteria: Describes the conditions that must be satisfied before


testing is concluded.

6.2 VERIFICATION AND VALIDATION

(Source: [Link])

GQ. Explain verification and validation in detail. (8 Marks)

6.2.1 Verification

* Verification can be defined as a process of evaluating the intermediate


products of a software development.
* Verification refers to the set of activities that ensure that the software is
developed with adherence to design specifications.

* Goal: To ensure that all elements present in the software product are
correct and consistent.

6.2.2 Validation

* Validation can be defined as a process of evaluating the final product to


ensure that the software meets all the specified requirements.

* Validation is performed at the software deployment to show that the


product fulfills its intended use and works as desired.

* Goal: To ensure that the software does what the user wants.

6.2.3 Difference Between Verification and Validation

UQ. Compare between Verification and Validation.

| Parameter | Verification | Validation |

|---|---|---|

| Focus | Checks code as per specification. | Checks if software solves the


actual problem. |

| Aim | Are we building the product right? | Are we building the right
product? |

| Inclusion | Verification contains Reviews, Meetings and Inspection. |


Validation is performed by testing. |

| Performance | Verification is considered as a quality assurance process. |


Validation is considered as a test activity. |

| Code Execution | Execution of code is not a part of Verification. |


Execution of code is a part of Validation. |

| Explanation | Verification proves proper explanation of software


according to requirement. | Validation gives explanation about acceptance
of software by the user or not. |

Table in Normal Text Form:

* Parameter: Focus

* Verification: Checks code as per specification.

* Validation: Checks if software solves the actual problem.

* Parameter: Aim

* Verification: Are we building the product right?


* Validation: Are we building the right product?

* Parameter: Inclusion

* Verification: Verification contains Reviews, Meetings and Inspection.

* Validation: Validation is performed by testing.

* Parameter: Performance

* Verification: Verification is considered as a quality assurance process.

* Validation: Validation is considered as a test activity.

* Parameter: Code Execution

* Verification: Execution of code is not a part of Verification.

* Validation: Execution of code is a part of Validation.

* Parameter: Explanation

* Verification proves proper explanation of software according to


requirement.

* Validation: Validation gives explanation about acceptance of software


by the user or not.

6.3 SOFTWARE TESTING STRATEGY

(Source: [Link])

GQ. Explain Software Testing Strategy and its importance. (10 Marks)

* The testing strategy defines a series of steps that lead to the successful
testing of the software.

* The testing strategy has the following phases: Unit testing, Integration
testing, Validation testing, System testing.

6.3.1 Stability and Drivers in Unit Testing

(Source: [Link])

* Unit Testing is a level of software testing where individual


units/components of a software are tested.

* Driver: A driver is a program module that acts as a substitute for a


module that receives data and passes the results to a module under test.

* Stub: A stub is a program module that acts as a substitute for a module


that is called by the module under test.

6.3.2 List of Errors Detected by Unit Testing (10 Marks)


* The following is the list of errors that can be detected by Unit Testing:

* Data structure errors

* Incorrect boundary conditions

* Errors in arithmetic logic

* Incorrect calculation or incorrect data

* Missing or erroneous logic

* Global and local data handling

6.4 TYPES OF SOFTWARE MAINTENANCE

(Source: [Link])

6.4.1 Types of Software Maintenance

(Transcribed earlier, but listing here for sequence)

* Corrective Maintenance

* Adaptive Maintenance

* Perfective Maintenance

* Preventive Maintenance

6.5 VALIDATION TESTING

(Source: [Link])

GQ. Explain VALIDATION TESTING in detail. (10 Marks)

* Validation testing begins after completion of independent components.

* Testing is concentrated on the actions which are directly visible by user


and output which will be successful when the system.

* Validation is successful when the software confirms to its user


requirements and specifications.

6.5.1 Validation Test Criteria

* A test plan describes the classes regarding tests to be conducted.

* A test procedure defines particular test cases which are designed to


ensure the expected functional requirements are fulfilled.

* Validation criteria include: All of the expected functional requirements


are fulfilled, All of the expected behavioral characteristics are fulfilled,
There is consideration in all the content and are properly presented, There
is accuracy in all the content and are properly presented, Documentation
is accurate.

* After completion of validation test case, there is one of two possible


conditions:

* There is acceptance of the function or performance characteristic.

* A variation from specification is not corrected.

6.5.2 Configuration Review

* Configuration review is considered as a vital element of the validation


process.

* The main aim of the review is making sure that all associated elements
of the software configuration accurately developed are properly cataloged.

6.6 SYSTEM TESTING

(Source: [Link])

GQ. Write short note on System Testing (4 Marks)

* System testing is a series of tests which performs on the complete


integrated computer-based system.

* System testing falls under black box testing in which every component
of the system is tested.

* It covers functional and non-functional tests.

6.6.1 Functional and Non-functional testing

* Functional Testing: Checks whether requirements of an application are


fulfilled or not.

* Non-functional Testing: Checks requirements that are not inclined or tied


to any particular function.

6.7 INTEGRATION TESTING

(Source: [Link])

GQ. Explain Integration testing in detail. (10 Marks)

* Integration testing is a method of software testing in which all units of


software modules are integrated and tested in a single group.

* Aim: To check the communication among all units of software.

* It is mainly done after unit testing is approached.

* Two main approaches: Top-down and Bottom-up integration.


6.7.1 Strategies for Conventional Software - Unit Testing

(Source: [Link])

* Unit Testing is a level of software testing where individual


units/components of a software are tested.

* The Test Plan is the highest level of software testing.

* It is performed to isolate the unit and test it without any external


components.

6.7.2 Types of Integration Testing

1. Big Bang Approach

* Incremental approach, which is categorized into given types:

* Top-Down Approach

* Bottom-up Approach

* Sandwich Approach: Combination of Top Down and Bottom Up.

2. Incremental Approach

* Integration testing is performed in stages as modules are integrated


one by one.

6.8 WHITE BOX TESTING

(Source: [Link])

* In White box testing, tester can see the source code of the software
program and is aware of all programming logic.

* It is also called Structural Testing or Glass Box Testing.

6.8.1 Advantages of White Box Testing

(Transcribed earlier, listing here for sequence)

* All the possible paths of a system is a strength of testing.

* Tester can achieve high code coverage.

6.8.2 Disadvantages of White Box Testing

(Transcribed earlier, listing here for sequence)

* It requires high level knowledge of programming language and internal


structure.

* It requires more time for testing.

6.8.3 White Box Testing Techniques


* Basis Path Testing (BPA): A systematic technique that guarantees 90%
code coverage.

* Condition Testing: Exercises logical conditions in a program module.

* Data Flow Testing: Selects test paths based on the locations of


definitions and uses of variables in the program.

* Loop Testing: Exercises loop constructs (simple, concatenated, nested,


and unstructured loops).

6.9 BLACK BOX TESTING

(Source: [Link], [Link])

* In Black box testing, the tester does not know the internal structure of
the software.

* Black box testing includes testing based on the functionality of the


software.

6.9.1 Types of Black Box Testing

(Transcribed earlier, listing here for sequence)

* Functional Testing

* Non-functional testing

* Regression Testing

* Load Testing

* Stress Testing

* Usability Testing

6.9.4 Difference between White Box Testing and Black Box Testing

(Source: [Link])

(Table in Normal Text Form)

* Parameter: Applicable levels

* White box testing: It is mainly applicable at lower levels of testing i.e.


unit and integration testing.

* Black box testing: It is mainly applicable at higher levels of testing i.e.


acceptance and system testing.

* Parameter: Base for testing

* White box testing: Detail design is the basis for White Box testing.
* Black box testing: Requirement specification is the basis for Black Box
testing.

* Parameter: Performed by

* White box testing: It is carried out by software developers.

* Black box testing: It is carried out by software testers.

6.10 USABILITY TESTING

(Source: [Link])

GQ. Explain following concept related to web-based testing - Usability


testing. (4 Marks)

* The primary goal of usability testing is to understand how real users


interact with your website.

6.10.1 (A) Components of a Usability Test (4 Marks)

* In a usability test, there are two groups: users and observers.

6.10.1 (B) Methods of Usability Testing

* Card Sorting

* In Person Testing

* Remote Testing

6.11 ART OF DEBUGGING

(Source: [Link])

6.11.1 Art of Debugging

* Debugging is the process of detecting and removing errors in a program


to make it run successfully or correctly.

6.12 SOFTWARE MAINTENANCE: SOFTWARE SUPPORTABILITY

(Source: [Link])

6.12.1 Step to Grow Maintenance Log

* Maintenance log is necessary in every system as it provides record of all


work performed on the system at any time.

6.19 SELF-LEARNING TOPICS : TEST STRATEGIES FOR WEBAPPS

(Source: [Link])

* Important points to consider before testing Web-Based applications (4


Marks):
* Compatibility with different browsers

* Functional testing

* Usability

* Integration

* Security

* Performance

You might also like