UNIT6
UNIT6
(203105303/304)
Prof. Gulbakshee Dharmale, Assistant Professor
Computer Science & Engineering
Unit-6
Software Testing and Quality assurance
on of IOT
Contents- Software Testing
• Quality Control
• Assurance, Cost, Reviews
• Software Quality Assurance
• Approaches to SQA
• Reliability
• Quality Standards- ISO9000 And 9001
Concepts
• To determine the scope and the risks that need to be tested and that
are NOT to be tested.
• Documenting Test Strategy.
• Deciding Entry and Exit criteria.
• Evaluating the test estimate.
• Planning when and how to test and deciding how the test results will
be evaluated, and defining test exit criterion.
• Ensuring that the test documentation generates repeatable test
assets.
Test case design
• Test execution is the process of executing the code and comparing the
expected and actual results.
Following factors are to be considered for a test execution process:
▪ Based on a risk, select a subset of test suite to be executed for this
cycle.
▪ Assign the test cases in each test suite to testers for execution.
▪ Execute tests, report bugs, and capture test status continuously.
▪ Resolve blocking issues as they arise.
▪ Report status, adjust assignments, and reconsider plans and
priorities daily.
▪ Report test cycle findings and status.
Levels of testing
• This is a type of black-box testing that is based on the specifications of the software
that is to be tested.
• Functional testing of a software is conducted on a complete, integrated system to
evaluate the system's compliance with its specified requirements.
There are five steps that are involved while testing an application for functionality.
1. The determination of the functionality that the intended application is meant to
perform.
2. The creation of test data based on the specifications of the application.
3. The output based on the test data and the specifications of the application.
4. The writing of test scenarios and the execution of test cases.
5. The comparison of actual and expected results based on the executed test
cases.
Unit Testing
Test data
Test Derives
s
Component Test
code outputs
Figure 6.6 Architecture of White –Box testing
Continue…
• White-box testing is a test case design method
• Uses the control structure of the procedural design to derive test
cases
• Using white-box testing methods, the software engineer can derive
test cases that
• Guarantee that all independent paths within a module have been
exercised at least once
• Exercise all logical decisions on their true and false sides
• Execute all loops at their boundaries and within their operational
bounds
• Exercise internal data structures to ensure their validity.
Basis path testing
• In software development
▪ Quality of design encompasses requirements, specifications, and the design
of the system.
▪ Quality of conformance is an issue focused primarily on implementation.
• User satisfaction = compliant product + good quality + delivery within budget and
schedule
Quality control
process
• Quality control involves the series of inspections, reviews, and tests used
throughout the software process.
• Quality control includes a feedback loop to the process.
• A key concept of quality control is that all work products have defined,
measurable specifications to which we may compare the output of each
process.
• The feedback loop is essential to minimize the defects produced.
Quality Assurance
process
• The cost of quality includes all costs incurred in the pursuit of quality or
in performing quality-related activities.