Systems Integration and Architecture 2
IT 402
Mr. Jandell Morales, GCE 1, CSFPC™, RWVCPC™, LLL, QMSA™,
ISMA™, ISA™, MIE
BULACAN STATE UNIVERSITY | COLLEGE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY 1st Semester A.Y. 2022 - 2023
Virtual Netiquette
Feel free to use Feel free to raise
the chat box your hand if you
have questions
Feel Free to use all of
the above reactions
01 SQA AND SOFTWARE TESTING IN BSIT CURRICULUM
Systems Integration and Architecture 1 (SIA1)
(3rd year, Second Sem)
Systems Integration and Architecture 2 (SIA2)
(4th year, First Sem)
Based from IT Curriculum (2008) of Association of Computer Machinery (ACM) / IEEE Computer Society
ISTQB® is the leading global certification scheme in the
field of software testing.
They established, and continually evolves, the
internationally-recognized Certified Tester scheme which is a
portfolio of certifications that develop, extend, and validate
testing skills of software testing professionals.
ISTQB® Certified Tester Foundation Level (CTFL), the prerequisite to all
other ISTQB® certifications, provides essential testing knowledge that
can be put to practical use and explains the terminology and concepts
that are used worldwide in the testing domain.
ISTQB CTFL
Test
Test Analysts
Managers
Test Test Anyone
Designers Engineers
Review
Questions and Answer
Q&A
During which fundamental test process activity we determine if more Tests are
needed?
A. Test Analysis and design
B. Test Exit Criteria
C. Test Implementation and Execution
D. Test Entry Criteria
ReviewQuiz
Q&A
A programmer is writing and executing unit tests against code that he has written.
Which of the following is a tester mindset that the programmer should adopt to perform
unit testing effectively?
A. Attention to Detail
B. Code Coverage
C. Good Communication Skills
D. Probe effect
ReviewQuiz
Q&A
What is the process of analyzing and removing causes of failures in the software
A. Bebugging
B. Testing
C. Debugging
D. Coding
ReviewQuiz
Q&A
The purpose of this level of testing is to expose defects in the interaction between software
modules when they are integrated.
A. Unit Testing
B. Integration Testing
C. System Testing
D. Acceptance Testing
ReviewQuiz
Q&A
What is the software testing method in which the functionalities of software applications are
tested without having knowledge of internal code structure
A. Black box Testing
B. White box Testing
C. Grey box Testing
D. None of the above
ReviewQuiz
Q&A
It is a type of software testing that checks the performance, usability, and reliability of a
software application
A. System testing
B. Maintenance Testing
C. Non-Functional Testing
D. White box Testing
ReviewQuiz
Q&A
It involves running tests to detect such unintended side-effects
A. Maintenance Testing
B. Regression Testing
C. Confirmation Testing
D. Acceptance Testing
ReviewQuiz
Q&A
Which of the following statements about static testing is the MOST true?
A. Static testing is a cheap way to detect and remove defects
B. Static testing makes dynamic testing less challenging
C. Static testing makes it possible to find run-time problems early in the lifecycle
D. When testing safety-critical system, static testing has less value because dynamic testing
finds the defects better
ReviewQuiz
Q&A
Which option is part of the implementation and execution area of the
fundamental test process?
A. Developing the tests.
B. Comparing actual and expected results.
C. Writing a test summary.
D. Analysing lessons learnt for future releases.
ReviewQuiz
Fundamentals of Testing
Testing Throughout the Software
Development Lifecycle
PART 1 Static Testing
Topics
Test Techniques
Fundamentals of Testing
Testing Throughout the Software
Development Lifecycle
PART 1 Static Testing
Topics
Test Techniques
Software
Testing
01
Software Systems
Fundamentals of Testing
01 WHAT IS SOFTWARE TESTING?
Is a way to assess the QUALITY of the
software and to reduce the RISK of
software failure in operation
The degree to which a component or system satisfies the stated
and implied needs of its various stakeholder
Fundamentals of Testing
01 WHAT IS SOFTWARE TESTING?
Analyzing
Test Execution
Implementing Test
Test Planning
Reporting
Evaluating the Quality Designing
Fundamentals of Testing
01 WHAT IS SOFTWARE TESTING?
Reviewing work products
Requirements TESTING
User Stories
Source Code
STATIC DYNAMIC
Checking System
Execution of Components
Fundamentals of Testing
01 WHY TESTING IS NECESSARY?
• Reduce the risk of failures
occurring during operation.
• When defects are detected, and
subsequently fixed, this
contributes to the quality of the
components or systems
Fundamentals of Testing
01
WHY TESTING IS NECESSARY? • Note: All the defects are not failures,
But all the failures are defects
Human Error Defect Failure
• Error: A human action that • Fault: A manifestation of an • Failure: Deviation of the
produces an incorrect result error in software software from its expected
– also known as a defect or bug delivery or service
Fundamentals of Testing
01 SEVEN TESTING PRINCIPLES
• Testing shows the • Beware of the pesticide
presence of defects, paradox
not their absence.
• Exhaustive testing is • Testing is context-
impossible. dependent
• Early testing saves time • The absence of errors is a
and money fallacy
• Defects cluster together
Fundamentals of Testing
Fundamentals of
Test Process
01 FUNDAMENTALS OF TEST PROCESS
Test Planning & Control
Test Analysis and Design
Test Implementation and Execution
Evaluating Exit Criteria and Reporting
Test Closure Activity
Fundamentals of Testing
01 FUNDAMENTALS OF TEST PROCESS
❑ Test Planning
- Define the objective and test completion criteria
- How activities will be done and who will do them.
❑ Test Control
- An ongoing activity where we compare actual progress
against the plan and reporting the status.
Fundamentals of Testing
01 FUNDAMENTALS OF TEST PROCESS
❑ Test Analysis and Design
- Concerned with the fine details of what to test, how to
combined test conditions into test cases.
- Bridge between Planning and test execution.
- Evaluate Testability
Fundamentals of Testing
01 FUNDAMENTALS OF TEST PROCESS
❑ Test Implementation and Execution
- Execute test procedures
- Compare actual results
with expected results
- Retesting and Regression Testing
Fundamentals of Testing
01 FUNDAMENTALS OF TEST PROCESS
❑ Evaluate Exit Criteria and Reporting
- is it satisfying? is it Done?
- Assess test execution against
requirements
T
- Assess if more tests are needed
- Write a test summary report
Fundamentals of Testing
01 FUNDAMENTALS OF TEST PROCESS
❑ Test Closure Activity
- Check Deliverables
- Close Incident Report
- Analyze lesson learned to determine changes needed for
future releases and project
Fundamentals of Testing
Psychology of
Testing
01
Human Psychology of Testing
Information about defects and Important to keep Emphasize the
failures to be communicated in positive relationship benefit of testing
a constructive way among teams
Fundamentals of Testing
01
TESTER’S MINDSET vs
DEVELOPER’S MINDSET
• Curiosity
• Professional pessimism With the right mindset,
• Critical eye developers are able to test
• Attention to detail their own code.
•Motivation for good and
positive communications and
relationship
Fundamentals of Testing
Exercise Quiz
QUIZ 1
1. Writing a Test Summary Report is a Test closure Activity.
A. True
B. False
B. False
Evaluating Exit Criteria and Reporting.
Quiz: SoftwareTestingBasicConcepts
QUIZ 1
2. Hand over of Test ware is a part of which Phase?
A. Test Analysis and Design
B. Test Planning and Control
C. Test Closure Activity
D. False
C. Test Closure Activity
Test Closure Activities include the following major tasks:
-all incident
Check which planned deliverables we actually delivered and ensure
reports have been resolved.
- Finalize and archiving test ware.
- Hand over of test ware.
Quiz: SoftwareTestingBasicConcepts - Evaluate how the testing went and analyze lessons learned.
QUIZ 1
3. Which of the following is a common test objective?
A. Comparing actual results to expected results
B. Casual Analysis
C. Preventing Defects
D. Analyzing cause of failure
C. Preventing Defects
Quiz: SoftwareTestingBasicConcepts
QUIZ 1
4.During which fundamental test process activity we determine if more
Test s are needed?
A. Test Analysis and design
B. Test Exit Criteria
C. Test Implementation and Execution
D. Test Entry Criteria
B. Test Exit Criteria
Quiz: SoftwareTestingBasicConcepts
QUIZ 1
5. When is testing enough?
A. Testing is enough when the time is running out.
B. We did not find bugs lately.
C. There are no new critical level faults from end-users.
D. We achieved the required confidence level.
D. We achieved the required confidence level.
Quiz: SoftwareTestingBasicConcepts
Software
Development
Lifecycle Models
02 Software Development Lifecycles Models
Sequential Iterative and
Development Incremental
Models Models
Testing throughout the Software Development Lifecycle
02 Software Development Lifecycles Models
• classic life cycle or waterfall
model.
• A type of development
Sequential lifecycle model in which a
Development complete system is
Models developed in a linear way of
several discrete and
successive phases with no
overlap between them.
Testing throughout the Software Development Lifecycle
02 Software Development Lifecycles Models
• is the process of establishing
requirements, designing, building
and testing a system in a series of
Iterative and
short development cycles.
Incremental
• Examples: Models
✓ Prototyping
✓ Rapid Application Development (RAD)
✓ Rational Unified Process (RUP)
✓ Agile development models
Testing throughout the Software Development Lifecycle
02 Role of Testing in Software Development
For every development activity, there is a
corresponding test activity
Each test level has test objectives specific to that level
Test analysis and design for a given test level begin during
the related development activity
Testers participate in discussions to define and refine
requirements and design
Testing throughout the Software Development Lifecycle
03 VERIFICATION AND VALIDATION
Acceptance Test
Design
System Test
Design
Integration test
Design
Unit test
This Design
I
Verification Validation
Test Level, Test Types, and Maintenance Testing
03 VERIFICATION
Testing does involve checking whether the
system meets specified requirements
Are we building the right
product?
Test Level, Test Types, and Maintenance Testing
03 VALIDATION
Checking whether the system will meet user
and other stakeholder needs in its
operational environment(s)
Are we built the product
right?
Test Level, Test Types, and Maintenance Testing
Test Levels
02 Test Levels
ACCEPTANCE TESTING
SYSTEM TESTING 04
03
INTEGRATION TESTING
02
COMPONENT TESTING
01
Testing throughout the Software Development Lifecycle
02 Test Levels
ACCEPTANCE TESTING
SYSTEM TESTING 04
03
INTEGRATION TESTING
02
COMPONENT TESTING
(also known as unit or module 01
testing) focuses on components that
are separately testable.
Testing throughout the Software Development Lifecycle
02 Test Levels
ACCEPTANCE TESTING
SYSTEM TESTING 04
03
INTEGRATION TESTING
02
COMPONENT TESTING focuses on interactions between
components or systems.
01
Testing throughout the Software Development Lifecycle
02 Test Levels
ACCEPTANCE TESTING
SYSTEM TESTING 04
focuses on the behavior and
capabilities of a whole system or
product, often considering the end-
to-end tasks the system can perform
03
and the non-functional behaviors it
exhibits while performing those
INTEGRATION TESTING
tasks. 02
COMPONENT TESTING
01
Testing throughout the Software Development Lifecycle
02 Test Levels
ACCEPTANCE TESTING
SYSTEM TESTING 04 like system testing, typically focuses
on the behavior and capabilities of a
whole system or product.
produce information to assess the
system’s readiness for deployment
03 and use by the customer (end-user)
INTEGRATION TESTING
02
COMPONENT TESTING
01
Testing throughout the Software Development Lifecycle
03 Test Levels in a Nutshell
Component Testing
Component 1 Component 2 Component 3 Component 4
Testing throughout the Software Development Lifecycle
03 Test Levels in a Nutshell
Integration testing
System testing
Testing throughout the Software Development Lifecycle
03 Test Levels in a Nutshell
User Acceptance Testing
Testing throughout the Software Development Lifecycle
END OF PRESENTATION