0% found this document useful (0 votes)
22 views

Lecture 4 Testing - Concepts Issues Techniques

Uploaded by

am2377550
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Lecture 4 Testing - Concepts Issues Techniques

Uploaded by

am2377550
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Software Testing

Lecture – 4
Software Testing Concepts

• Software testing is a crucial part of the software development process


that involves evaluating a software system or component to ensure
that it meets specified requirements, functions as intended, and is free
from defects.
Testing Objectives

• The primary objectives of software testing include identifying defects,


validating that the software meets the specified requirements, verifying its
functionality, and ensuring its overall quality.
• Finding defects which prevent the probability of their occurrence in production

• Gaining confidence in the quality of the software application.

• Providing information helps GO or NO GO decision-making while moving to the


next phase.
• Defect analysis in one phase can also help identify the root cause and prevent
defects in the subsequent phases.
Test Levels

• Testing can be performed at various levels, including:


• Unit testing (testing individual components or units of code)
• Integration testing (testing the interaction between different components)
• System testing (testing the entire system as a whole)
• Acceptance testing (testing the system against user requirements)
Test Types

• Different types of testing are employed to uncover different aspects of


software quality.
• Some common test types include:
• functional testing (ensuring that the software functions as expected)
• performance testing (assessing the system's performance under various
conditions)
• security testing (verifying the system's resistance to security threats)
• usability testing (evaluating the system's user-friendliness)
Test Techniques

• Test techniques are methods or approaches used to design test cases


and execute tests.
• These techniques include:
• black-box testing (focusing on testing the functionality without knowledge
of the internal structure),
• white-box testing (testing based on knowledge of the internal code
structure)
• gray-box testing (a combination of black-box and white-box techniques).
Test Planning

• Test planning involves determining what needs to be tested, defining


test objectives and strategies, and creating a detailed test plan that
outlines the scope, resources, schedule, and test activities to be
performed.
Test Execution

• Test execution involves running the test cases and collecting the
results.
• It includes recording defects, analyzing test outcomes, and verifying
whether the software behaves as expected.
• Test execution may be done manually or with the help of automated
testing tools.
Test Management

• Test management involves activities such as test estimation, test


prioritization, test reporting, and test progress monitoring.
• It includes managing test environments, test data, and test
documentation to ensure effective test execution and control.
Defect Management

• Defect management encompasses the identification, recording,


tracking, and resolution of defects found during testing.
• It involves processes for defect triaging, defect classification, and
defect resolution to ensure that identified issues are addressed and
resolved appropriately.
Test Coverage

• Test coverage refers to the extent to which the software has been
tested.
• It aims to ensure that a sufficient number of test cases have been
executed to cover different parts of the software, including code
statements, branches, conditions, and requirements.
Test Automation

• Test automation involves the use of tools and frameworks to automate


the execution of tests, the comparison of actual results against
expected results, and the generation of test reports. Automation helps
improve testing efficiency, repeatability, and accuracy.
REFERENCE

"Software Quality Assurance: From Theory to Implementation" by Daniel Galin (2018)

You might also like