SlideShare uma empresa Scribd logo
1 de 61
Module I:
Introduction To Software Concepts
Topic to be covered
1. Introduction, Definition and Characteristics
of Software,
2. Importance of Software,
3. Software types,
4. Software components,
5. Members involved in software development,
6. Overview of SDLC.
Computer software, is a collection of
computer programs and related data
that provides the instructions for
telling a computer what to do and
how to do it.
software is a set of programs, procedures,
algorithms and its documentation
concerned with the operation of a data
processing system.
What the software consumer wants:
• Reliable
• Powerful
• Fast
• Flexible
• Available
• Cheap to buy
• Easy to learn
• Easy to use
• Solves the
problem
What the software producer wants:
• Cheap to produce
• Well-defined
behavior
• Easy to "sell"
• Easy to maintain
• Reliable
• Easy to use
• Flexible
• Available (quick to
produce)
Why software is important?
• In recent years the capabilities of computer technology have
increased manifold
– however, the software programs that control the computers have
not been able to match the pace of advances in hardware
• Software is infusing our society
– software is used to control critical functions of various machines
such as aircrafts, pacemakers, and other medical devices
• Software errors have led to loss of time, money, human life
– cancer patients received lethal doses of radiation from Therac-25
– Ariane 5 space rocket blown up 37 seconds after launch
– a computer error in AT&Ts communication system led to the
shutdown of all three major airports in the New York region
Software components
• Component-based software engineering
(CBSE) (also known as component-based
development (CBD)) is a branch of software
engineering that emphasizes the separation of
concerns in respect of the wide-ranging functionality
available throughout a given software system.
• It is a reuse-based approach to defining,
implementing and composing loosely coupled
independent components into systems. This practice
aims to bring about an equally wide-ranging degree
of benefits in both the short-term and the long-term
for the software itself and for organizations that
sponsor such software.
Definition of s/w components
• An individual software component is a software
package, a web service, a web resource, or
a module that encapsulates a set of
related functions (or data).
A simple example of several software components - pictured within a
hypothetical holiday-reservation system represented in UML 2.0.
• All system processes are placed into separate
components so that all of the data and functions
inside each component are semantically related .
• With regard to system-wide co-ordination,
components communicate with each other
via interfaces.
• important attribute of components is that they
are substitutable, so that a component can replace
another component
Members involved in software
development
Subject Matter Experts (SME)
• The Subject Matter Expert is the person or persons
from which requirements are captured.
• These are the people who know what the software
needs to do and how the process works.
• The SME role is somewhat different from the other
roles because it is constantly changing as new
clients (internal or external) are brought in to help
design a solution.
• SMEs are rarely from IT -- except when the solution
is being designed to support IT.
Functional Analysts (FA)
• Functional Analysts have the unpleasant task
of producing clear, concise, non-conflicting
requirements from the Subject Matter
Experts.
• who may or may not understand how
technology can be used to transform the
business processes in a positive way.
Solutions Architect (SA)
• The solution architect is responsible for
transforming the requirements created by the
Functional Analysts into a set of architecture and
design documents that can be used by the rest of
the team to actually create the solution.
• The Solutions Architect is typically responsible for
matching technologies to the problem being solved.
Development Lead (DL)
• The Development Lead's role is focused on
providing more detail to the Solution Architect's
architecture.
• This would include detailed program specifications
creation.
• The Development Lead is also the first line of
support for the developers who need help
understanding a concept or working through a
particularly pointed issue.
Developer (Dev)
• Developer (Dev) is The heart and soul of the
process, the developer actually writes the code that
the Development Leads provided specifications for.
Quality Assurance (QA)
• The Quality Assurance role is an often-thank less
position that is designed to find bugs before they
find their way to the end customers.
• Using a variety of techniques ranging from keying in
data and playing with the system to formalized,
automated testing scripts, the Quality Assurance
team is responsible for ensuring the quality of the
solution and it's fit to the requirements gathered by
the Functional Analyst.
Project Manager (PM)
• The Project Manager is responsible for ensuring
consistent reporting, risk mitigation, timeline, and
cost control.
• The project manager role is a problem-solver role.
• They try to resolve problems while they are small so
that they can be handled more quickly and with less
cost.
Development Manager (DM)
• The Development Manager is responsible for
managing multiple priorities of conflicting projects.
• The Development Manager role is also an
escalation for issues from the team, which it is
unable to resolve internally.
Deployment (Deploy)
• The Deployment role is the one that packages up all
of the compiled code and configuration files and
deploys it through the appropriate environments or
on the appropriate systems.
• The Deployment role is focused on getting the
solution used. To that end, the role may include
automated software installation procedures or may
be as simple as copying the files to the appropriate
place and running them.
Training
• The Training role is responsible for documentation
for the system as well as any instructor or
computer-based training
• solutions that are designed to help the users better
understand how the system works and what they
can do with it.
System Development Life cycle
Approach
Waterfall model
Waterfall Model
There are 8 phases in waterfall model
SN Phase Explanation
1 Feasibility Study Applying cost –benefit criteria to the proposed application
2 Information Analysis Determining user information requirement.
3 System Design Designing user interface, files to be used and information
processing function to be performed by system.
4. Program
development
Designing, coding, compiling, testing and documenting
program.
5 Procedures & form
development
Designing and documenting system procedures and forms
for the user of the system.
6 Acceptance testing Final testing of the system and formal approval and
acceptance by management and user.
7 Conversion Changeover from old system to new system.
8 Operation &
maintenance
Working with the system and subsequent modification and
maintenance if any problem detected.
1.Feasibility Study
2. Information
Analysis
3.System Design
4.Program
Development
5.Procedure and
form development
6.Acceptance
Testing
7.Conversion
8.Operation &
Maintenance
• What is testing & Importance of testing
• Testing goals and characteristics
• Testing during planning stage
• Testing during Design stage,
• Testing During Coding Stage
Software testing is an activity to check
whether actual results match the
expected results and to ensure software
system is defect free.
1. To discover defects.
2. To avoid user detecting problems
3. To prove that the software has no faults
4. To learn about the reliability of the software.
5. To avoid being sued by customers
6. To ensure that product works as user expected.
7. To stay in business
8. To detect defects early, which helps in reducing
the cost of defect fixing?
A goal is a projected state of affairs that a person or system
plans or intends to achieve. Software testing has following
goals:
1. Verification and Validation
2. Priority Coverage
3. Balanced
4. Traceable.
5. Deterministic
1. Verification and Validation
• It would not be right to say that
testing is done only to find faults.
• Faults will be found by everybody
using the software.
• Testing is a quality control measure
used to verify that a product works
as desired .
1. Verification and Validation(CONTD.)
• Software testing provides a status report of the
actual product in comparison to product Testing
process has to verify and validate whether the
software fulfills conditions laid down for its
release/use.
• Testing should reveal as many errors as possible in
the software under test, check whether it meets its
requirements and also bring it to an acceptable
level of quality.
Difference between Verification & Validation
Verification Validation
Are you building it right? Are you building the right thing?
Ensure that the software system
meets all the functionality.
Ensure that functionalities meet the
intended behavior.
Verification takes place first and
includes the checking for
documentation, code etc.
Validation occurs after verification
and mainly involves the checking of
the overall product.
Done by developers. Done by Testers.
Have static activities as it includes
the reviews, walkthroughs, and
inspections to verify that software
is correct or not.
Have dynamic activities as it
includes executing the software
against the requirements.
It is an objective process and no
subjective decision should be
needed to verify the Software.
It is a subjective process and
involves subjective decisions on
how well the Software works.
2. Priority Coverage
• Exhaustive testing is impossible.
• We should perform tests efficiently and effectively,
within budgetary and scheduling imitations.
Therefore testing needs to assign effort reasonably
and prioritize thoroughly.
• Generally every feature should be tested at least
with one valid input case.
• We can also test input permutations, invalid input,
and non-functional requirements depending upon
the operational profile of software.
2. Priority Coverage (CONTD..)
• Highly present and frequent use scenarios should
have more coverage than infrequently encountered
and insignificant scenarios.
• A study by on 25 million lines of code also revealed
that 70-80% of problems were due to 10-15% of
modules , 90% of all defects were in modules
containing 13% of the code, 95% of serious defects
were from just 2.5% of the code.
3 Balanced
• Testing process must balance the written
requirements, real-world technical limitations, and
user expectations.
• The testing process and its results must be
repeatable and independent of the tester, i.e.,
consistent and unbiased .
• Apart from the process being employed in
development there will be a lot unwritten or
implicit requirements.
• While testing, the software testing team should
keep all such requirements in mind.
3 Balanced (CONTD..)
• They must also realize that we are part of
development team, not the users of the software.
• The end user's viewpoint is obviously vital to the
success of the software, but it is not all that
matters as all needs cannot be fulfilled because of
technical, budgetary or scheduling limitations.
• Every defect/shortcoming has to be prioritized
with respect to their time and technical constraints.
4 Traceable
• Documenting both the successes and failures
helps in easing the process of testing.
• What was tested, and how it was tested, are
needed as part of an ongoing testing process.
• Such things serve as a means to eliminate
duplicate testing effort
5 Deterministic
• Problem detection should not be random in testing.
• We should know what we are doing, what are we
targeting, what will be the possible outcome.
• Coverage criteria should expose all defects of a
decided nature and priority. Also, afterward surfacing
errors should be categorized as to which section in the
coverage it would have occurred, and can thus present
a definite cost in detecting such defects in future
testing.
• Having clean insight into the process allows us to
better estimate costs and to better direct the overall
development.
1. High Probability of detecting Errors
2. No Redundancy
3. Choose the most appropriate Test
4. Moderate
1. To detect maximum errors, the tester should
understand the software thoroughly and try to
find the possible ways in which the software can
fail
2. In a program to divide two numbers, for example,
the possible way in which the program can fail is
when 2 and zero are given as inputs and two is to
be divided by zero.
3. In this case, a set of tests should be developed that
can demonstrate an error in the division operator.
• Resources and testing time are limited in
software development process.
• so it is not beneficial to develop several tests,
which have the same intended purpose. Every
test should have a distinct purpose
• There can be different tests that have the
same intent but due to certain limitations,
such as time and resource constraint, only few
of them are used.
• In such as case, the tests that have the highest
probability of finding errors should be
considered.
• A test is considered good if it is neither too
simple nor too complex.
• Many tests can be combined to form one test
case. However, this can increase the
complexity and leave many errors undetected.
• Hence, all tests should be performed
separately.
1. Goals for the Planning Phase .
2. Developing the Solution Design and Architecture .
3. Validating the Technology .
4. Creating the Functional Specification for the Solution.
5. Developing the Project Plans .
6. Creating the Project Schedules.
7. Setting Up the Development and Test Environments.
8. Closing the Planning Phase .
–Evaluates correct implementation of the design
intended, and requires intimate knowledge of the
design detail.
–Performed by designers, or dedicated group of
DAT testers. Typically tightly coupled to
designers. Verifies that implementation is correct
as intended and meets requirements. In
addition, allows designers to exercise design in
extreme ways. White box testing.
– Demonstrates that specified requirements have been
met.
– Typically performed by independent group, sometimes
called QA, especially in SW word. Verifies design to
requirements. Black box testing.
– Demonstrates that the system conforms to user needs
and intended uses.
– Performed by independent group, or more likely, the
designers and system engineers.
- The areas to
check include modular structure, module interfaces, data
structures, functions, algorithms and I/O handling.
-
Perform the Testing process in an organized and systematic
manner with test runs dated, marked and saved. A plan or
schedule can be used as a checklist to help the programmer
to organize testing efforts. If errors are found and changes
made to the program, all tests involving the erroneous
segment (including those which resulted in success
previously) must be rerun and recorded.
The programmer should be
familiar with various compilers and interpreters
available on the system for the implementation
language being used because they differ in their
error analysis and code generation capabilities.
Testing should
exercise and stress the program structure, the data
structures, the internal functions and the externally
visible functions or functionality. Both valid and
invalid data should be included in the test set.
• Pieces of code, individual modules and small
collections of modules should be exercised separately
before they are integrated into the total program, one
by one.
• Errors are easier to isolate when the number of
potential interactions should be kept small.
• A tester should perform array bound checks, check
loop control variables, determine whether key data
values are within permissible ranges, trace program
execution, and count the number of times a group of
statements is executed.
Testing During coding phase
If errors are still found every time the
program is executed, testing should
continue. Because errors tend to cluster,
modules appearing particularly error-prone
require special scrutiny.
• The metrics used to measure testing thoroughness
include statement testing (whether each statement in
the program has been executed at least once),
• Branch testing (whether each exit from each branch has
been executed at least once) and
• Path testing (whether all logical paths, which may
involve repeated execution of various segments, have
been executed at least once).
• Statement testing is the coverage metric most
frequently used as it is relatively simple to implement.

Mais conteúdo relacionado

Mais procurados

Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering FundamentalsRahul Sudame
 
Ch 01 s.e introduction
Ch 01 s.e introductionCh 01 s.e introduction
Ch 01 s.e introductionBadar Waseer
 
Requirements Engineering Processes
Requirements Engineering ProcessesRequirements Engineering Processes
Requirements Engineering ProcessesRa'Fat Al-Msie'deen
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement SpecificationNiraj Kumar
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1Badar Waseer
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSADEED AMEEN
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelAmr E. Mohamed
 
10. Software testing overview
10. Software testing overview10. Software testing overview
10. Software testing overviewghayour abbas
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2SIMONTHOMAS S
 
selection of hardware & software in SAD
selection of hardware & software in SAD selection of hardware & software in SAD
selection of hardware & software in SAD Ankita Agrawal
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysisAntony Alex
 
Software Engineering tools
Software Engineering tools Software Engineering tools
Software Engineering tools imran khan
 

Mais procurados (20)

Software engineering
Software engineeringSoftware engineering
Software engineering
 
Bank managment system
Bank managment systemBank managment system
Bank managment system
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering Fundamentals
 
Ch 01 s.e introduction
Ch 01 s.e introductionCh 01 s.e introduction
Ch 01 s.e introduction
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Computer Sided Software Engineering
Computer Sided Software EngineeringComputer Sided Software Engineering
Computer Sided Software Engineering
 
Requirements Engineering Processes
Requirements Engineering ProcessesRequirements Engineering Processes
Requirements Engineering Processes
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
 
10. Software testing overview
10. Software testing overview10. Software testing overview
10. Software testing overview
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Introduction
IntroductionIntroduction
Introduction
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
 
selection of hardware & software in SAD
selection of hardware & software in SAD selection of hardware & software in SAD
selection of hardware & software in SAD
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
 
Software Engineering tools
Software Engineering tools Software Engineering tools
Software Engineering tools
 

Semelhante a Introduction To Software Concepts Unit 1 & 2

Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering Huda Alameen
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spmPrakash Poudel
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software EngineeringMuhammadTalha436
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxKalpna Saharan
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMajane Padua
 
Methodology Selection Strategy
Methodology Selection Strategy Methodology Selection Strategy
Methodology Selection Strategy Ajeng Savitri
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 

Semelhante a Introduction To Software Concepts Unit 1 & 2 (20)

Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spm
 
SE-Unit I.pptx
SE-Unit I.pptxSE-Unit I.pptx
SE-Unit I.pptx
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Unit 1.pdf
Unit 1.pdfUnit 1.pdf
Unit 1.pdf
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
SE
SESE
SE
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
UNIT-I.pptx
UNIT-I.pptxUNIT-I.pptx
UNIT-I.pptx
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Agile software process
Agile software processAgile software process
Agile software process
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Methodology Selection Strategy
Methodology Selection Strategy Methodology Selection Strategy
Methodology Selection Strategy
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 

Mais de Raj vardhan

Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3Raj vardhan
 
Internet Basics Unit-7
Internet Basics  Unit-7Internet Basics  Unit-7
Internet Basics Unit-7Raj vardhan
 
Local Area Network – Wired LAN
Local Area Network – Wired LANLocal Area Network – Wired LAN
Local Area Network – Wired LANRaj vardhan
 
Network Connecting Devices UNIT 5
Network Connecting Devices UNIT 5Network Connecting Devices UNIT 5
Network Connecting Devices UNIT 5Raj vardhan
 
UNIT 4-HEADER FILES IN C
UNIT 4-HEADER FILES IN CUNIT 4-HEADER FILES IN C
UNIT 4-HEADER FILES IN CRaj vardhan
 
Wireless LANs(IEEE802.11) Architecture
Wireless LANs(IEEE802.11) Architecture Wireless LANs(IEEE802.11) Architecture
Wireless LANs(IEEE802.11) Architecture Raj vardhan
 
UNIT -03 Transmission Media and Connecting Devices
UNIT -03 Transmission Media and Connecting Devices UNIT -03 Transmission Media and Connecting Devices
UNIT -03 Transmission Media and Connecting Devices Raj vardhan
 
Unit 1: Introduction to DBMS Unit 1 Complete
Unit 1: Introduction to DBMS Unit 1 CompleteUnit 1: Introduction to DBMS Unit 1 Complete
Unit 1: Introduction to DBMS Unit 1 CompleteRaj vardhan
 
Swachh Bharat Abhiyan - Project Report
Swachh Bharat Abhiyan - Project ReportSwachh Bharat Abhiyan - Project Report
Swachh Bharat Abhiyan - Project ReportRaj vardhan
 
Network Topology
Network TopologyNetwork Topology
Network TopologyRaj vardhan
 
Microsoft Office Word Introduction Complete
Microsoft Office Word  Introduction CompleteMicrosoft Office Word  Introduction Complete
Microsoft Office Word Introduction CompleteRaj vardhan
 
Digital money Revolution Introduction
Digital money Revolution IntroductionDigital money Revolution Introduction
Digital money Revolution IntroductionRaj vardhan
 
Definition of Business
Definition of BusinessDefinition of Business
Definition of BusinessRaj vardhan
 
Business Terms & Concepts
Business Terms & ConceptsBusiness Terms & Concepts
Business Terms & ConceptsRaj vardhan
 
Number System Conversion | BCA
Number System Conversion | BCANumber System Conversion | BCA
Number System Conversion | BCARaj vardhan
 
Interaction With Computers FIT
Interaction With Computers FITInteraction With Computers FIT
Interaction With Computers FITRaj vardhan
 
FIT-MS-WORD Lab | BCA
FIT-MS-WORD Lab | BCAFIT-MS-WORD Lab | BCA
FIT-MS-WORD Lab | BCARaj vardhan
 
Syllabus Front End Design Tool VB.NET | BCA-205
Syllabus Front End Design Tool VB.NET | BCA-205 Syllabus Front End Design Tool VB.NET | BCA-205
Syllabus Front End Design Tool VB.NET | BCA-205 Raj vardhan
 
UNIT-II VISUAL BASIC.NET | BCA
UNIT-II VISUAL BASIC.NET | BCAUNIT-II VISUAL BASIC.NET | BCA
UNIT-II VISUAL BASIC.NET | BCARaj vardhan
 

Mais de Raj vardhan (20)

Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3
 
Internet Basics Unit-7
Internet Basics  Unit-7Internet Basics  Unit-7
Internet Basics Unit-7
 
Local Area Network – Wired LAN
Local Area Network – Wired LANLocal Area Network – Wired LAN
Local Area Network – Wired LAN
 
Network Connecting Devices UNIT 5
Network Connecting Devices UNIT 5Network Connecting Devices UNIT 5
Network Connecting Devices UNIT 5
 
UNIT 4-HEADER FILES IN C
UNIT 4-HEADER FILES IN CUNIT 4-HEADER FILES IN C
UNIT 4-HEADER FILES IN C
 
Wireless LANs(IEEE802.11) Architecture
Wireless LANs(IEEE802.11) Architecture Wireless LANs(IEEE802.11) Architecture
Wireless LANs(IEEE802.11) Architecture
 
UNIT -03 Transmission Media and Connecting Devices
UNIT -03 Transmission Media and Connecting Devices UNIT -03 Transmission Media and Connecting Devices
UNIT -03 Transmission Media and Connecting Devices
 
Unit 1: Introduction to DBMS Unit 1 Complete
Unit 1: Introduction to DBMS Unit 1 CompleteUnit 1: Introduction to DBMS Unit 1 Complete
Unit 1: Introduction to DBMS Unit 1 Complete
 
Swachh Bharat Abhiyan - Project Report
Swachh Bharat Abhiyan - Project ReportSwachh Bharat Abhiyan - Project Report
Swachh Bharat Abhiyan - Project Report
 
Network Topology
Network TopologyNetwork Topology
Network Topology
 
Microsoft Office Word Introduction Complete
Microsoft Office Word  Introduction CompleteMicrosoft Office Word  Introduction Complete
Microsoft Office Word Introduction Complete
 
Digital money Revolution Introduction
Digital money Revolution IntroductionDigital money Revolution Introduction
Digital money Revolution Introduction
 
C Programming
C ProgrammingC Programming
C Programming
 
Definition of Business
Definition of BusinessDefinition of Business
Definition of Business
 
Business Terms & Concepts
Business Terms & ConceptsBusiness Terms & Concepts
Business Terms & Concepts
 
Number System Conversion | BCA
Number System Conversion | BCANumber System Conversion | BCA
Number System Conversion | BCA
 
Interaction With Computers FIT
Interaction With Computers FITInteraction With Computers FIT
Interaction With Computers FIT
 
FIT-MS-WORD Lab | BCA
FIT-MS-WORD Lab | BCAFIT-MS-WORD Lab | BCA
FIT-MS-WORD Lab | BCA
 
Syllabus Front End Design Tool VB.NET | BCA-205
Syllabus Front End Design Tool VB.NET | BCA-205 Syllabus Front End Design Tool VB.NET | BCA-205
Syllabus Front End Design Tool VB.NET | BCA-205
 
UNIT-II VISUAL BASIC.NET | BCA
UNIT-II VISUAL BASIC.NET | BCAUNIT-II VISUAL BASIC.NET | BCA
UNIT-II VISUAL BASIC.NET | BCA
 

Último

How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 

Último (20)

How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 

Introduction To Software Concepts Unit 1 & 2

  • 1. Module I: Introduction To Software Concepts
  • 2. Topic to be covered 1. Introduction, Definition and Characteristics of Software, 2. Importance of Software, 3. Software types, 4. Software components, 5. Members involved in software development, 6. Overview of SDLC.
  • 3. Computer software, is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it.
  • 4. software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system.
  • 5.
  • 6.
  • 7. What the software consumer wants: • Reliable • Powerful • Fast • Flexible • Available • Cheap to buy • Easy to learn • Easy to use • Solves the problem
  • 8. What the software producer wants: • Cheap to produce • Well-defined behavior • Easy to "sell" • Easy to maintain • Reliable • Easy to use • Flexible • Available (quick to produce)
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Why software is important? • In recent years the capabilities of computer technology have increased manifold – however, the software programs that control the computers have not been able to match the pace of advances in hardware • Software is infusing our society – software is used to control critical functions of various machines such as aircrafts, pacemakers, and other medical devices • Software errors have led to loss of time, money, human life – cancer patients received lethal doses of radiation from Therac-25 – Ariane 5 space rocket blown up 37 seconds after launch – a computer error in AT&Ts communication system led to the shutdown of all three major airports in the New York region
  • 16. Software components • Component-based software engineering (CBSE) (also known as component-based development (CBD)) is a branch of software engineering that emphasizes the separation of concerns in respect of the wide-ranging functionality available throughout a given software system. • It is a reuse-based approach to defining, implementing and composing loosely coupled independent components into systems. This practice aims to bring about an equally wide-ranging degree of benefits in both the short-term and the long-term for the software itself and for organizations that sponsor such software.
  • 17. Definition of s/w components • An individual software component is a software package, a web service, a web resource, or a module that encapsulates a set of related functions (or data).
  • 18. A simple example of several software components - pictured within a hypothetical holiday-reservation system represented in UML 2.0.
  • 19. • All system processes are placed into separate components so that all of the data and functions inside each component are semantically related . • With regard to system-wide co-ordination, components communicate with each other via interfaces. • important attribute of components is that they are substitutable, so that a component can replace another component
  • 20. Members involved in software development
  • 21. Subject Matter Experts (SME) • The Subject Matter Expert is the person or persons from which requirements are captured. • These are the people who know what the software needs to do and how the process works. • The SME role is somewhat different from the other roles because it is constantly changing as new clients (internal or external) are brought in to help design a solution. • SMEs are rarely from IT -- except when the solution is being designed to support IT.
  • 22. Functional Analysts (FA) • Functional Analysts have the unpleasant task of producing clear, concise, non-conflicting requirements from the Subject Matter Experts. • who may or may not understand how technology can be used to transform the business processes in a positive way.
  • 23. Solutions Architect (SA) • The solution architect is responsible for transforming the requirements created by the Functional Analysts into a set of architecture and design documents that can be used by the rest of the team to actually create the solution. • The Solutions Architect is typically responsible for matching technologies to the problem being solved.
  • 24. Development Lead (DL) • The Development Lead's role is focused on providing more detail to the Solution Architect's architecture. • This would include detailed program specifications creation. • The Development Lead is also the first line of support for the developers who need help understanding a concept or working through a particularly pointed issue.
  • 25. Developer (Dev) • Developer (Dev) is The heart and soul of the process, the developer actually writes the code that the Development Leads provided specifications for.
  • 26. Quality Assurance (QA) • The Quality Assurance role is an often-thank less position that is designed to find bugs before they find their way to the end customers. • Using a variety of techniques ranging from keying in data and playing with the system to formalized, automated testing scripts, the Quality Assurance team is responsible for ensuring the quality of the solution and it's fit to the requirements gathered by the Functional Analyst.
  • 27. Project Manager (PM) • The Project Manager is responsible for ensuring consistent reporting, risk mitigation, timeline, and cost control. • The project manager role is a problem-solver role. • They try to resolve problems while they are small so that they can be handled more quickly and with less cost.
  • 28. Development Manager (DM) • The Development Manager is responsible for managing multiple priorities of conflicting projects. • The Development Manager role is also an escalation for issues from the team, which it is unable to resolve internally.
  • 29. Deployment (Deploy) • The Deployment role is the one that packages up all of the compiled code and configuration files and deploys it through the appropriate environments or on the appropriate systems. • The Deployment role is focused on getting the solution used. To that end, the role may include automated software installation procedures or may be as simple as copying the files to the appropriate place and running them.
  • 30. Training • The Training role is responsible for documentation for the system as well as any instructor or computer-based training • solutions that are designed to help the users better understand how the system works and what they can do with it.
  • 31. System Development Life cycle Approach Waterfall model
  • 32. Waterfall Model There are 8 phases in waterfall model SN Phase Explanation 1 Feasibility Study Applying cost –benefit criteria to the proposed application 2 Information Analysis Determining user information requirement. 3 System Design Designing user interface, files to be used and information processing function to be performed by system. 4. Program development Designing, coding, compiling, testing and documenting program. 5 Procedures & form development Designing and documenting system procedures and forms for the user of the system. 6 Acceptance testing Final testing of the system and formal approval and acceptance by management and user. 7 Conversion Changeover from old system to new system. 8 Operation & maintenance Working with the system and subsequent modification and maintenance if any problem detected.
  • 33. 1.Feasibility Study 2. Information Analysis 3.System Design 4.Program Development 5.Procedure and form development 6.Acceptance Testing 7.Conversion 8.Operation & Maintenance
  • 34.
  • 35. • What is testing & Importance of testing • Testing goals and characteristics • Testing during planning stage • Testing during Design stage, • Testing During Coding Stage
  • 36.
  • 37. Software testing is an activity to check whether actual results match the expected results and to ensure software system is defect free.
  • 38. 1. To discover defects. 2. To avoid user detecting problems 3. To prove that the software has no faults 4. To learn about the reliability of the software. 5. To avoid being sued by customers 6. To ensure that product works as user expected. 7. To stay in business 8. To detect defects early, which helps in reducing the cost of defect fixing?
  • 39. A goal is a projected state of affairs that a person or system plans or intends to achieve. Software testing has following goals: 1. Verification and Validation 2. Priority Coverage 3. Balanced 4. Traceable. 5. Deterministic
  • 40. 1. Verification and Validation • It would not be right to say that testing is done only to find faults. • Faults will be found by everybody using the software. • Testing is a quality control measure used to verify that a product works as desired .
  • 41. 1. Verification and Validation(CONTD.) • Software testing provides a status report of the actual product in comparison to product Testing process has to verify and validate whether the software fulfills conditions laid down for its release/use. • Testing should reveal as many errors as possible in the software under test, check whether it meets its requirements and also bring it to an acceptable level of quality.
  • 42. Difference between Verification & Validation Verification Validation Are you building it right? Are you building the right thing? Ensure that the software system meets all the functionality. Ensure that functionalities meet the intended behavior. Verification takes place first and includes the checking for documentation, code etc. Validation occurs after verification and mainly involves the checking of the overall product. Done by developers. Done by Testers. Have static activities as it includes the reviews, walkthroughs, and inspections to verify that software is correct or not. Have dynamic activities as it includes executing the software against the requirements. It is an objective process and no subjective decision should be needed to verify the Software. It is a subjective process and involves subjective decisions on how well the Software works.
  • 43. 2. Priority Coverage • Exhaustive testing is impossible. • We should perform tests efficiently and effectively, within budgetary and scheduling imitations. Therefore testing needs to assign effort reasonably and prioritize thoroughly. • Generally every feature should be tested at least with one valid input case. • We can also test input permutations, invalid input, and non-functional requirements depending upon the operational profile of software.
  • 44. 2. Priority Coverage (CONTD..) • Highly present and frequent use scenarios should have more coverage than infrequently encountered and insignificant scenarios. • A study by on 25 million lines of code also revealed that 70-80% of problems were due to 10-15% of modules , 90% of all defects were in modules containing 13% of the code, 95% of serious defects were from just 2.5% of the code.
  • 45. 3 Balanced • Testing process must balance the written requirements, real-world technical limitations, and user expectations. • The testing process and its results must be repeatable and independent of the tester, i.e., consistent and unbiased . • Apart from the process being employed in development there will be a lot unwritten or implicit requirements. • While testing, the software testing team should keep all such requirements in mind.
  • 46. 3 Balanced (CONTD..) • They must also realize that we are part of development team, not the users of the software. • The end user's viewpoint is obviously vital to the success of the software, but it is not all that matters as all needs cannot be fulfilled because of technical, budgetary or scheduling limitations. • Every defect/shortcoming has to be prioritized with respect to their time and technical constraints.
  • 47. 4 Traceable • Documenting both the successes and failures helps in easing the process of testing. • What was tested, and how it was tested, are needed as part of an ongoing testing process. • Such things serve as a means to eliminate duplicate testing effort
  • 48. 5 Deterministic • Problem detection should not be random in testing. • We should know what we are doing, what are we targeting, what will be the possible outcome. • Coverage criteria should expose all defects of a decided nature and priority. Also, afterward surfacing errors should be categorized as to which section in the coverage it would have occurred, and can thus present a definite cost in detecting such defects in future testing. • Having clean insight into the process allows us to better estimate costs and to better direct the overall development.
  • 49. 1. High Probability of detecting Errors 2. No Redundancy 3. Choose the most appropriate Test 4. Moderate
  • 50. 1. To detect maximum errors, the tester should understand the software thoroughly and try to find the possible ways in which the software can fail 2. In a program to divide two numbers, for example, the possible way in which the program can fail is when 2 and zero are given as inputs and two is to be divided by zero. 3. In this case, a set of tests should be developed that can demonstrate an error in the division operator.
  • 51. • Resources and testing time are limited in software development process. • so it is not beneficial to develop several tests, which have the same intended purpose. Every test should have a distinct purpose
  • 52. • There can be different tests that have the same intent but due to certain limitations, such as time and resource constraint, only few of them are used. • In such as case, the tests that have the highest probability of finding errors should be considered.
  • 53. • A test is considered good if it is neither too simple nor too complex. • Many tests can be combined to form one test case. However, this can increase the complexity and leave many errors undetected. • Hence, all tests should be performed separately.
  • 54. 1. Goals for the Planning Phase . 2. Developing the Solution Design and Architecture . 3. Validating the Technology . 4. Creating the Functional Specification for the Solution. 5. Developing the Project Plans . 6. Creating the Project Schedules. 7. Setting Up the Development and Test Environments. 8. Closing the Planning Phase .
  • 55. –Evaluates correct implementation of the design intended, and requires intimate knowledge of the design detail. –Performed by designers, or dedicated group of DAT testers. Typically tightly coupled to designers. Verifies that implementation is correct as intended and meets requirements. In addition, allows designers to exercise design in extreme ways. White box testing.
  • 56. – Demonstrates that specified requirements have been met. – Typically performed by independent group, sometimes called QA, especially in SW word. Verifies design to requirements. Black box testing. – Demonstrates that the system conforms to user needs and intended uses. – Performed by independent group, or more likely, the designers and system engineers.
  • 57. - The areas to check include modular structure, module interfaces, data structures, functions, algorithms and I/O handling. - Perform the Testing process in an organized and systematic manner with test runs dated, marked and saved. A plan or schedule can be used as a checklist to help the programmer to organize testing efforts. If errors are found and changes made to the program, all tests involving the erroneous segment (including those which resulted in success previously) must be rerun and recorded.
  • 58. The programmer should be familiar with various compilers and interpreters available on the system for the implementation language being used because they differ in their error analysis and code generation capabilities. Testing should exercise and stress the program structure, the data structures, the internal functions and the externally visible functions or functionality. Both valid and invalid data should be included in the test set.
  • 59. • Pieces of code, individual modules and small collections of modules should be exercised separately before they are integrated into the total program, one by one. • Errors are easier to isolate when the number of potential interactions should be kept small. • A tester should perform array bound checks, check loop control variables, determine whether key data values are within permissible ranges, trace program execution, and count the number of times a group of statements is executed.
  • 60. Testing During coding phase If errors are still found every time the program is executed, testing should continue. Because errors tend to cluster, modules appearing particularly error-prone require special scrutiny.
  • 61. • The metrics used to measure testing thoroughness include statement testing (whether each statement in the program has been executed at least once), • Branch testing (whether each exit from each branch has been executed at least once) and • Path testing (whether all logical paths, which may involve repeated execution of various segments, have been executed at least once). • Statement testing is the coverage metric most frequently used as it is relatively simple to implement.