It's a 1st Unit PPT of Subject Software Testing & Quality from the Book "Software Testing & Quality Assurance" by Kshirsagar Naik and Priyadarshi Tripathy
Developed foundation for an approach on “Attractive Quality Creation” commonly referred to as the “Kano Model”
Challenged traditional Customer Satisfaction Models that More is better, i.e. the more you perform on each service attribute the more satisfied the customers will be.
Proposed new Customer Satisfaction model (Kano Model)
Performance on product and service attributes is not equal in the eyes of the customers
Performance on certain categories attributes produces higher levels of satisfaction than others.
the difference between quality control and quality assurance. the main difference is quality assurance is process oriented and makes sure you are doing the right things, the right way. while quality control is product oriented and makes sure the results of what you have done are what you expected
Developed foundation for an approach on “Attractive Quality Creation” commonly referred to as the “Kano Model”
Challenged traditional Customer Satisfaction Models that More is better, i.e. the more you perform on each service attribute the more satisfied the customers will be.
Proposed new Customer Satisfaction model (Kano Model)
Performance on product and service attributes is not equal in the eyes of the customers
Performance on certain categories attributes produces higher levels of satisfaction than others.
the difference between quality control and quality assurance. the main difference is quality assurance is process oriented and makes sure you are doing the right things, the right way. while quality control is product oriented and makes sure the results of what you have done are what you expected
This is a short presentation that I have created for explaining the iterative process for continuous improvement. It shows the Plan-Do-Check-Act (P-D-C-A) methodology that is standard practice in industry for process improvement and product improvement. This is a methodology used for developing anything from automobiles, to mobile phones, to software, and Information Technology.
Quality, quality concepts
Software Quality Assurance
Software Reviews
Formal Technical Reviews
SQA Group Plan
ISO 9000, 9001
Example
Internal and external attributes
Lean Six Sigma is a process improvement methodology that relies on a collaborative team effort to improve performance by systematically removing waste, combining Lean and Six Sigma to eliminate the eight kinds of waste
Lean Six Sigma projects comprise aspects of Lean's waste elimination and the Six Sigma focus on reducing defects
i hope,,,this ppt will be more helpful for every fresher textile engineer....that provide the basic concept of quality for the product or service,,,,,,
This is a short presentation that I have created for explaining the iterative process for continuous improvement. It shows the Plan-Do-Check-Act (P-D-C-A) methodology that is standard practice in industry for process improvement and product improvement. This is a methodology used for developing anything from automobiles, to mobile phones, to software, and Information Technology.
Quality, quality concepts
Software Quality Assurance
Software Reviews
Formal Technical Reviews
SQA Group Plan
ISO 9000, 9001
Example
Internal and external attributes
Lean Six Sigma is a process improvement methodology that relies on a collaborative team effort to improve performance by systematically removing waste, combining Lean and Six Sigma to eliminate the eight kinds of waste
Lean Six Sigma projects comprise aspects of Lean's waste elimination and the Six Sigma focus on reducing defects
i hope,,,this ppt will be more helpful for every fresher textile engineer....that provide the basic concept of quality for the product or service,,,,,,
In the Pharmaceutical, We can get accurate result of the whole population or Whole Batch only and only if Our Sampling Method is perfect and Accurate.
Sampling is also one of the IMP technique for the Statistical calculations.
An Empirical Study of SQA Function Effectiveness in CMMI Certified Companies ...zillesubhan
The most vital component for any software development process is, “quality”, as it ensures the reliability and effectiveness of new software. Software Quality Assurance (SQA) techniques as well as a standardized qualitative metric known as Capability Maturity Model Integration (CMMI) are used to ensure this quality. The purposes of both the practices are same as both make efforts for end product’s quality. In spite of this, CMMI certified organizations have SQA function, but face a lot of issues, which resulted in lowering the quality of the products. Standards usually provide documentation, but SQA consider testing as a chief element and also documentation only for authentication and appraisals. The relationship of the SQA function with CMMI has not attended much in common literatures. This paper is centered on investigation conducted through data collection from diverse CMMI certified software development firm to check the practice of SQA function.
Exploring Different Types of QA Methods_ An Overview.pdfPolyxer Systems
Quality assurance may sound like a reserved term for software developers, but it’s a crucial concept for any industry that strives for excellence.
QA is the systematic approach of ensuring that products or services consistently meet predefined standards and customer expectations.
What is the Difference Between Software Testing and QA Testing.pptxCalidad Infotech
In the fast-paced world of ever-evolving technology and the rapid rise of the IT industry, businesses and organizations worldwide pay utmost attention to quantity and quick deployment of digital products to capture significant market share.
Understanding the who, what, why, and when of quality is essential in implementing an effective Quality Program. It requires a combination of distinct disciplines: Quality Assurance, Quality Control, and Quality Improvement. They are three unique disciplines which, when used together, can improve the efficiency and effectiveness of any organization leading to reduced cost and increased customer satisfaction.
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. I hope this ppt will help u to learn about software testing.
Understanding the Importance of Quality Assurance Testing in Software Develop...flufftailshop
In the current dynamic and fiercely competitive digital realm, guaranteeing the excellence and dependability of software holds the utmost significance. This is where QA testing plays a crucial role. QA testing, also known as quality assurance testing or QA software testing, is a process that helps identify and eliminate defects or issues in software, ensuring that it meets the highest quality standards.
Syed Zaffar Iqbal, Prof. Urwa Javed and Dr. Shakeel Ahmed Roshan. Department of Computer Science, Alhamd Islamic University, Pakistan. “Software Quality Assurance Model for Software Excellence with Its Requirements” United International Journal for Research & Technology (UIJRT) 1.1 (2019): 39-43.
CHAPTER 11 Managing
Systems
Implementation
Chapter 11 describes the systems implementation phase of the SDLC. This chapter describes application development, installation, and evaluation.
OBJECTIVES
When you finish this chapter, you will be able to:
· Explain the importance of software quality assurance and software engineering
· Describe application development using structured, object-oriented, and agile methods
· Draw a structure chart showing top-down design, modular design, cohesion, and coupling
· Explain the coding process
· Explain unit, integration, and system testing
· Differentiate between program, system, operations, and user documentation
· List the main steps in system installation and evaluation
· Develop training plans for various user groups, compare in-house and vendor training options, and describe effective training techniques
· Describe data conversion and changeover methods
· Explain post-implementation evaluation and the final report to management
INTRODUCTION
Managing systems implementation involves application development, testing, documentation, training, data conversion, system changeover, and post-implementation evaluation of the results.
During systems implementation, the system design specification serves as a blueprint for constructing the new system. The initial task is application development, which requires systems analysts and programmers to work together to construct the necessary programs and code modules. Before a changeover, the system must be tested and documented carefully, users must be trained, and existing data must be converted. After the new system is operational, a formal evaluation of the results takes place as part of a final report to management.
If you have MIS CourseMate, you can view a Video Learning Session that explains how to use a structure chart to show program modules and their relationships.
PREVIEW CASE: Mountain View College Bookstore
Background: Wendy Lee, manager of college services at Mountain View College, wants a new information system that will improve efficiency and customer service at the three college bookstores.
In this part of the case, Tina Allen (systems analyst) and David Conroe (student intern) are talking about implementation tasks for the new system.
Participants:
Wendy, Tina, and David
Location:
Wendy Lee’s office, Monday morning, February 10,2014
Project status:
The system design specification was approved, and Tina and David are ready to implement the new bookstore information system.
Discussion topics:
Implementation tasks, including quality assurance, structure charts, testing, training, data conversion process, system changeover, and post-implementation evaluation
Tina:
Good morning, Wendy, We’re ready to start the implementation process, and I’d like to go over our plans, David will be assisting me, so I asked him to join us.
Wendy:
I’m glad you did. I met David during the interviews several months ago.
David:
Hi, Wendy, good to see you again. What’s next? ...
Similar to Unit 1 basic concepts of testing & quality (20)
Overview of the fundamental roles in Hydropower generation and the components involved in wider Electrical Engineering.
This paper presents the design and construction of hydroelectric dams from the hydrologist’s survey of the valley before construction, all aspects and involved disciplines, fluid dynamics, structural engineering, generation and mains frequency regulation to the very transmission of power through the network in the United Kingdom.
Author: Robbie Edward Sayers
Collaborators and co editors: Charlie Sims and Connor Healey.
(C) 2024 Robbie E. Sayers
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Immunizing Image Classifiers Against Localized Adversary Attacksgerogepatton
This paper addresses the vulnerability of deep learning models, particularly convolutional neural networks
(CNN)s, to adversarial attacks and presents a proactive training technique designed to counter them. We
introduce a novel volumization algorithm, which transforms 2D images into 3D volumetric representations.
When combined with 3D convolution and deep curriculum learning optimization (CLO), itsignificantly improves
the immunity of models against localized universal attacks by up to 40%. We evaluate our proposed approach
using contemporary CNN architectures and the modified Canadian Institute for Advanced Research (CIFAR-10
and CIFAR-100) and ImageNet Large Scale Visual Recognition Challenge (ILSVRC12) datasets, showcasing
accuracy improvements over previous techniques. The results indicate that the combination of the volumetric
input and curriculum learning holds significant promise for mitigating adversarial attacks without necessitating
adversary training.
Final project report on grocery store management system..pdfKamal Acharya
In today’s fast-changing business environment, it’s extremely important to be able to respond to client needs in the most effective and timely manner. If your customers wish to see your business online and have instant access to your products or services.
Online Grocery Store is an e-commerce website, which retails various grocery products. This project allows viewing various products available enables registered users to purchase desired products instantly using Paytm, UPI payment processor (Instant Pay) and also can place order by using Cash on Delivery (Pay Later) option. This project provides an easy access to Administrators and Managers to view orders placed using Pay Later and Instant Pay options.
In order to develop an e-commerce website, a number of Technologies must be studied and understood. These include multi-tiered architecture, server and client-side scripting techniques, implementation technologies, programming language (such as PHP, HTML, CSS, JavaScript) and MySQL relational databases. This is a project with the objective to develop a basic website where a consumer is provided with a shopping cart website and also to know about the technologies used to develop such a website.
This document will discuss each of the underlying technologies to create and implement an e- commerce website.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Unit 1 basic concepts of testing & quality
1. BASIC CONCEPT OF TESTING AND QUALITY
UNIT - 1
1
Prepared By: Ravi J Khimani, CSE Department, SLTIET, Rajkot
2. QUALITY REVOLUTION
Quality – critical issue in product development
In the past, near about 1940, Quality Revolution
began.
Due to – Global Competition, OutSourcing, Off-
Shoring and increasing customer expectation.
Developing quality product in tighter schedule is
big issue for companies.
2
3. QUALITY REVOLUTION
In old approach, Efforts to improve quality is
centered around the end of product
development.
In new approach, improve quality
encompasses all phases: from Requirement
Analysis to Final Delivery of Product.
3
4. QUALITY REVOLUTION
An effective quality process must focus on:
Paying attention to customer expectation
Making efforts to continuously improve quality.
Integrate measurement with design and
development.
Develop system level perspectives with
concentrating on methodology and process.
Eliminate waste through continuous improvement
4
5. QUALITY REVOLUTION
Quality movement started around 1940-1950
William Edward Deming, gives literature on
Statistical Quality Control (STQ)
STQ is discipline based on measurements and
statistics.
In which, decisions are made and plans
developed on the collection and evaluation of
facts and data.
5
6. QUALITY REVOLUTION
Deming gave Shewhart Method for STQ.
In which, he gave Plan – Do – Check – Act
(PDCA) cycle, also known as Shewhart Cycle.
6
7. QUALITY REVOLUTION
Between 1950 – 1970, companies came up
with innovative principle, known as “Lean
Principle”.
Which is, “A systematic approach to identify
and eliminate waste through continuous
improvement, flowing the product at the pull of
the customer expectations.”
For Example, to compress the time period in
banking payments. 7
8. QUALITY REVOLUTION
In the era of 1950, Joshep M Juran of US
proposed raising level of Quality Management
from Manufacture Dept. to overall
organization.
That Quality Management is known as Total
Quality Control (TQC).
It includes companywide activities, audits,
quality circle and promotions of quality 8
9. QUALITY REVOLUTION
That TQC emphases on,
Quality comes first not short-term profits.
Customer comes first not the producers.
Decisions are based on Data and Facts.
Management is participatory and respectful of all
employees
Management is driven by cross-functional committees
covering product planning, design, sales, marketing,
manufacturing, purchasing, distribution.
9
10. QUALITY REVOLUTION
One of the TQC method
developed by Japan, is
known as Ishikawa OR
cause-and-effect
method.
It says, product quality
comes from four
causes, materials, 10
11. QUALITY REVOLUTION
Traditionally, the TQC and Lean Concept are
applied to Manufacturing Department.
The software development process uses these
concepts through “Software Capability Maturity
Model (CMM)” model, to guide the production
of qualitative software.
Which provides framework to discuss software
production issues.
11
12. SOFTWARE QUALITY
What is Software Quality?
Quality is a complex concept – means different things
to different people.
Kitchenham and Pfleeger discuss software quality
in five different ways:
Transcendental View:
It envisages quality as something that can be recognized but
is difficult to define.
It can be also applied to complex area of regular life.
Not specific to only Software Quality.
12
13. SOFTWARE QUALITY
User View:
It perceives quality as fitness for purpose.
Key question: “Does product satisfy user needs?”
Manufacturing View:
Here quality level is determined by considering product’s
specification.
Product View:
Quality is viewed as inherent characteristics. Like
Internal Characteristics, external characteristics.
13
14. SOFTWARE QUALITY
Value Based View:
Depends on amount a customer is willing to pay for it.
In mid-1970, McCall, Richards and Walters
were gave the software quality in two terms,
Quality Factors
Quality Criteria
14
15. SOFTWARE QUALITY
A quality Factor
represents behavioral characteristics of system.
For example, Correctness, Reliability, Efficiency,
Testability, Maintainability, Modularity and
Reusability.
A Quality Criteria
Is an attribute of Quality Factor that can be related
to Software Development.
15
16. SOFTWARE QUALITY
There are various software quality models have
been proposed for Software Quality and its
related attributes
Two most popular models are
CMM [Software Capability Maturity Model]
ISO [International Standard Organization]
In the field of Testing two popular models are
available,
TPI [Test Process Improvement]
TMM [Test Maturity Model]
16
17. FAILURE, FAULT, ERROR AND DEFECT
In software testing, we can find references to
these four terms.
In fault – tolerant computing community,
Failure: A failure is said to occur whenever the
external behaviour of a system does not confirm to that
prescribed in the system specification.
Error: An error is a state of the system. In the absence
of any corrective action by the system, an error state
could lead to a failure which would not be attributed to
any event subsequent to the error.
17
18. FAILURE, FAULT, ERROR AND DEFECT
Fault: A fault is the adjudged (true) cause of an
error.
A fault may remain undetected for a long time,
until some event activates it.
When an event activates a fault,
it brings the program into an intermediate error
state.
If computation is allowed to proceed from an error
18
19. FAILURE, FAULT, ERROR AND DEFECT
in fault-tolerant computing, corrective actions
can be taken to take a program out of an error
state into a desirable state such that subsequent
computation does not eventually lead to a
failure.
The process of failure manifestation can
therefore be succinctly represented as a
behaviour chain as follows:
19
20. FAILURE, FAULT, ERROR AND DEFECT
In software, a system may be defective due
to design issues; certain system states will
expose a defect, resulting in the development
of faults are defined as incorrect signal values
or decisions within the system.
In practical purpose, both term, Defect and
Fault are synonymous terms.
20
21. FAILURE, FAULT, ERROR AND DEFECT
For Example,
Consider a small organization. Defects in the
organization’s staff promotion policies can cause
improper promotions, viewed as faults. The resulting
ineptitudes & dissatisfactions are errors in the
organization’s state. The organization’s personnel or
departments probably begin to malfunction as result
of the errors, in turn causing an overall degradation of
performance. The end result can be the organization’s
failure to achieve its goal.
21
22. ROLE OF TESTING
Testing plays an important role in achieving
and assessing the quality of a software
product .
we can improve the quality of the products as
we repeat a test - find defects – fix cycle
during development.
But how can we perform system level tests
before releasing product? 22
23. ROLE OF TESTING
Friedman and Voas say, “software testing is a
verification process for software quality
assessment and improvement.”
Software quality assessment is divided into
two categories,
Static Analysis
Dynamic Analysis
23
24. 1. STATIC ANALYSIS [ROLE OF TESTING]
It is based on the examination of a number of documents,
requirements documents,
software models,
design documents
source code.
It also includes code review, inspection, walk-through,
algorithm analysis, and proof of correctness.
It does not involve actual execution of the code under
development.
Instead, it examines code and reasons over all possible
behaviours that might arise during run time.
For Ex., Compiler optimizations are standard static analysis.24
25. 2. DYNAMIC ANALYSIS [ROLE OF TESTING]
It involves actual program execution with input values.
During execution, it observes the behavioural and
performance properties of the program.
For practical considerations, a finite subset of the input
set can be selected.
Therefore, in testing, we observe program behaviours
and reach a conclusion about the quality of the system.
Careful selection of a finite test set is crucial to reaching
a reliable conclusion.
25
26. ROLE OF TESTING [CONT…]
Both Analysis techniques are complementary
in nature, and for better effectiveness, both
must be performed repeatedly and alternated.
Practitioners and researchers need to remove
the boundaries between static and dynamic
analysis and create a hybrid analysis that
combines the strengths of both approaches
26
27. OBJECTIVES OF TESTING
The stakeholders in a test process are the
programmers, the test engineers, the project
managers, and the customers.
A stakeholder is a person or an organization
who influences a system’s behaviours or who
is impacted by that system.
Different stakeholders view a test process from
different perspectives, as follows,
27
28. OBJECTIVES OF TESTING
It does work:
While implementing a program unit, the programmer may
want to test whether or not the unit works in normal
circumstances.
The programmer gets much confidence if the unit works to his
or her satisfaction.
The same idea applies to an entire system as well—once a
system has been integrated, the developers may want to test
whether or not the system performs the basic functions.
Here, for the psychological reason, the objective of testing is
to show that the system works, rather than it does not work.
28
29. OBJECTIVES OF TESTING
It does not work:
Once the programmer (or the development team) is satisfied
that a unit (or the system) works to a certain degree, more
tests are conducted with the objective of finding faults in the
unit (or the system).
Here, the idea is to try to make the unit (or the system) fail.
Reduce the risk of failure:
Software systems contain faults, which cause the system to
fail.
“failing from time to time” gives rise of failure rate.
As faults are discovered and fixed during more tests,
Thus, a higher level objective of performing tests is to bring29
30. OBJECTIVES OF TESTING
Reduce the cost of testing:
The different kinds of costs associated with a test process
include
the cost of designing, maintaining, and executing test cases,
the cost of analyzing the result of executing each test case,
the cost of documenting the test cases,
and the cost of actually executing the system and documenting it.
Therefore, the less the number of test cases designed, the
less will be the associated cost of testing.
However, producing a small number of arbitrary test cases is
not a good way of saving cost.
Objective – more test cases – more reliable software.
Its define effectiveness of test cases.
30
31. TEST CASE
Basic Form, it’s a pair of,
<input, expected outcome>
In stateless system, outcome depends only on the
current input.
For example, calculate square root of number,
A compiler for C language.
31
32. TEST CASE
In state-oriented system, outcome depends on
current input as well as current state of system.
For this test case consists of Sequence of <input,
expected outcome> pairs, according to state.
It also consists of Decision and Timing factor.
For example, ATM Machine,
32
33. EXPECTED OUTCOME
Outcome of program execution is complex entity,
which includes,
Value produced
State change (program or database)
Set of values interpreted together for valid outcome.
ORACLE: is important concept of Test Design.
Oracle is entity – Program, Process, Human
Expert or body of data – that tells us the expected
outcome of test. 33
34. EXPECTED OUTCOME
Expected Outcome should be computed while
designing test cases.
Before program execution and with selected
inputs.
Will eliminate implementation biasing.
The process is of – execute program –
observe actual output – verify actual output –
use that verified output in subsequent test
34
35. CONCEPT OF COMPLETE TESTING
It means “there are no undiscoverable faults at the end of
test phase”.
It’s near impossible, due to
Input domain is to large
Program may have large number of state based on valid and
invalid inputs.
Timing constraint
Design (for program) issues too complex
Impossible to create all possible execution environments like
weather, temperature, altitude, pressure, etc…
“Input value which is valid but is not property timed is
called inopportune Input”.
35
36. CENTRAL ISSUE IN TESTING
Impossible to test complete input domain to
discover faults.
Select subset of Domain is best thing to test
program.
36
38. TEST ACTIVITIES
Identify objective to be tested
Clear purpose must be associated with every test
case.
Select Inputs
Based on specification, source code and
expectation
Compute the expected outcome
Can be done from high-level understanding of the38
39. TEST ACTIVITIES
Set up execution environment of program
Prepare right execution environment
For ex, Initialize local system, external to program like
making network connection, right database system
available.
For ex, Initialize any remote, external system like
distributed system to run client code.
Execute the Program
With selected input and observe actual output.
Test Coordination concept is used in synchronizing
different components of Test Cases, like different
physical location. 39
40. TEST ACTIVITIES
Analyze Test Result
Comparison should be precise.
After analyzing, Test Verdicts should be assigned,
like Pass, Fail, inconclusive.
Test Report must be written, contains
reasons of failure of test cases
analysis of failure
A indication to actual outcome, test case,
input values tested, environment of 40
41. VERIFICATION AND VALIDATION
Two similar concept
Verification
Determine that product of given development
phase satisfies the requirements established
before starting of that phase.
Like requirement specification, design
specification, code, user manual.
“Activities that check the correctness of a
development phase are called Verification
41
42. VERIFICATION AND VALIDATION
Validation
Activities that determine and confirm that product
meets its desired use.
Aim at confirming that product meets user’s
expectations.
Focus on final product.
Should be executed at early stage of development
cycle, not at the end of development cycle.
42
43. VERIFICATION VS. VALIDATION
Verification Validation
Confirming that Building product
correctly
Confirming that building correct
product
Review interim works like
specification, design specification,
code, user manual.
Is performed at the end of
development phase of each part of
system.
Verification considers quality attributes
like consistency, correctness,
completeness.
Validation considers only correctness
and satisfaction.
Can be applied through Statistic
Analysis Techniques like inspection,
walkthrough, reviews, checklists,
Can be applied by running system in
its actual environment using verity of
Tests.
43
44. CORRECTNESS
Correctness from software engineering
perspective can be defined as the stickiness to
the specifications that determine how users
can interact with the software and how the
software should be have when it is used
correctly.
If the software behaves incorrectly, it might
take considerable amount of time to achieve.44
45. CORRECTNESS
Below are some of the important rules for effective
programming which are consequences of the program
correctness theory.
Defining the problem completely.
Develop the algorithm and then the program logic.
Reuse the proved models as much as possible.
Prove the correctness of algorithms during the design
phase.
Developers should pay attention to the clarity and simplicity
of your program.
Verifying each part of a program as soon as it is developed.45
46. SOURCES OF INFORMATION FOR TEST CASES
A software development process generates a large
body of information, such as requirements specification,
design document, and source code.
In order to generate effective tests at a lower cost, test
designers analyze the following sources of information:
Requirements and functional specifications.
Source code
Input and output domains
Operational Profiles
Fault model [Error Guessing, Fault Seeding, Mutation
46
47. TEST LEVELS
Performed at different levels involving
complete system.
Software goes through four stages: Unit,
Integration, System and Acceptance level
testing.
First three inside developing organization
Last one is outside developing organization
These four stages of testing is known as V- 47
49. CONTROL FLOW GRAPH
It’s a graphical representation of program unit.
Three symbols are used.
49
50. CONTROL FLOW GRAPH
A rectangle represents sequential computation.
A diamond box represents decision point.
Two branches one decision box has, True or False.
A small circle represents a merge point.
We are not labeling merge point.
50
51. TESTING TYPES
Black Box Testing
Black-box testing is a method of software testing that
examines the functionality of an application based on the
specifications. It is also known as Specifications based
testing.
Independent Testing Team usually performs this type of testing
during the software testing life cycle.
This method of test can be applied to each and every level of
software testing.
There are different techniques involved in Black Box testing,
like Equivalence Class, Boundary Value Analysis, Domain
Tests, Orthogonal Arrays, Decision Tables, State Models, All-51
52. TESTING TYPES
White Box Testing
White box testing is a testing technique, that examines the program
structure and derives test data from the program logic/code. The other
names of white box testing are clear box testing, open box testing, logic
driven testing or path driven testing or structural testing.
White Box Testing Techniques:
Statement Coverage - This technique is aimed at exercising all programming
statements with minimal tests.
Branch Coverage - This technique is running a series of tests to ensure that all
branches are tested at least once.
Path Coverage - This technique corresponds to testing all possible paths which
means that each statement and branch is covered.
52
53. TESTING TYPES
Model Based Testing
Model-based testing is a software testing technique in which the
test cases are derived from a model that describes the functional
aspects of the system under test.
It makes use of a model to generate tests that includes both
offline and online testing.
Importance
Unit testing wont be sufficient to check the functionalities
To ensure that the system is behaving in the same sequence of actions.
Model-based testing technique has been adopted as an integrated part
of the testing process.
Commercial tools are developed to support model-based testing. 53
54. TESTING TYPES
Interface Testing
Interface Testing is performed to evaluate whether systems or components
pass data and control correctly to one another. It is to verify if all the
interactions between these modules are working properly and errors are
handled properly.
Verify that communication between the systems are done correctly
Verify if all supported hardware/software has been tested
Verify if all linked documents be supported/opened on all platforms
Verify the security requirements or encryption while communication happens
between systems
Check if a Solution can handle network failures between Web site and
application serve 54
55. TESTING TYPES
Unit Testing
Tests individual program units like function, class
After surety of units working properly, modules are
assembled to larger subsystem.
By Software Developer.
Integration Testing
Performed on assembled units of system in unit
testing.
By Software Developer and Integration test
55
56. TESTING TYPES
System Testing
Object is to construct a reasonably stable system that
can withstand to System-Level Testing.
System level testing includes functionality testing,
security testing, reliability testing, stability, stress,
performance, load testing.
Aim to discover most of the faults and verify fixes are
working.
System testing composed of create test plan, design
test suit, prepare test environments, executing tests.
56
57. TESTING TYPES
Regression Testing
Perform throughout life cycle of system
development.
Performed when component of system is modified.
Idea to verify that modification does not affect
existing work and does not introduce new faults.
It is distinct level of testing
Sub-phase of unit, integration and system-level
testing. 57
58. TESTING TYPES
Acceptance Testing
After completion of all above testing, product is
delivered to customer.
Customer performs their own series of tests, called
acceptance tests.
Objective of this testing to measure Quality of
Product.
Key notion is customer’s expectations from the
system.
58
59. TESTING TYPES
Two kinds of Acceptance Testing
User Acceptance Testing (UAT): done by user to ensure
system performs contractual acceptance criteria.
Business Acceptance Testing (BAT): done by supplier’s
development organization, to ensure that system will
pass UAT.
59