SlideShare a Scribd company logo
1 of 13
Chapter 6
Continuous Testing
Andrés Felipe Quintero
Jonathan Steven Franco
Continuous Testing
If we want to build software systems that are truly
reliable, we have to guarantee reliability at the object
level, which can only be achieved through successful
unit tests. Otherwise, we can not expect to build
highly reliable applications. Of course, just writing
the unit test for an object does not necessarily
guarantee reliability. The test must effectively exercise
the use of the object; In addition, the test must be
executed often.
Continuous Testing
• Automate Unit Test
• Automate Component Tests
• Automate System Tests
• Automate Functional Tests
• Categorize Developer Tests
• Run Faster Tests First
• Write Tests for Defects
• Make Component Tests Repeatable
• Limit Test Cases to One Asset
Practice makes perfect.
—ENGLISH PROVERB
Automate Unit Test
Unit tests verify the behavior of small elements in a software
system, which are generally a single class. Occasionally, however,
the one-to-one relationship between a unit test and a class
increases slightly with additional classes because the classes under
test are closely linked.
Some unit tests require minimal external dependencies, which are
just other classes. These dependent classes are simple and do not
have deep object graphics. Occasionally, unit tests even employ
simulations, which are simple objects that substitute real and
more complicated objects.
Automate Component Tests
Testing components or subsystems verify parts of a system and may require a
fully installed system or some external dependencies, such as databases, file
systems, or network endpoints, to name a few.
These tests verify that the components interact to produce the expected behavior.
A typical component test requires that the underlying database is running and
can even cross architectural boundaries. Because each test case exerts a greater
amount of code, more code coverage is obtained per test and, therefore, these tests
tend to last longer than unit tests.
Automate System Tests
System tests exert a complete software system and
therefore requires a fully installed system.
These tests verify that external interfaces such as Web
Pages, web service endpoints, and GUIs function end-to-
end as designed.
The tests of the system have the tendency to prolong the
execution times in addition to the long configuration
times.
Automate Functional Tests
Functional tests, as the name implies,
test the functionality of an application
from a customer's point of view, which
means that the tests themselves imitate
customers.
These tests are also known as acceptance
tests.
We need a common understanding that
tests are differentiated specifically by the
configuration they require (initialization
databases, etc.), which correlates directly
with the time it takes to run.
Categorize Developer Tests
Categorizing developer tests into respective groups
(unit tests, component tests, system tests, and even
functional tests) helps you run slower execution
tests after the fastest execution tests. For example,
running system tests every time you change the
repository is a time-consuming and resource-
consuming task and delays in notifying interested
parties if there is a problem with the compilation.
Writing and running tests is obviously a
good thing, but unless we treat them as an
architectural component that requires proper
categorization and structure, they may begin
to seem like an obstacle, rather than the key,
to success. As you increase the code base
during your project, we are talking about
many tests, and if you run all the written
tests at all times in your system, the
compilations take more time to complete.
Run Faster Tests First
• Unit Tests
• Component Tests
• System Tests
Write Tests for Defects
Make Component Tests Repeatable
Limit Test Cases to One Asset
¡Thanks!

More Related Content

What's hot

Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingASIT Education
 
Need for automation testing
Need for automation testingNeed for automation testing
Need for automation testing99tests
 
Software testing assignment
Software testing assignmentSoftware testing assignment
Software testing assignmentMuhammad Arshad
 
Non Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanNon Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanSampath kumar Mohan
 
The importance of non functional testing
The importance of non functional testingThe importance of non functional testing
The importance of non functional testingMaveric Systems
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
Performance testing
Performance testing Performance testing
Performance testing BugRaptors
 
What are the advantages of non functional testing
What are the advantages of non functional testingWhat are the advantages of non functional testing
What are the advantages of non functional testingMaveric Systems
 
General Software Tester Training
General Software Tester TrainingGeneral Software Tester Training
General Software Tester TrainingChris Scofield
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testingpooja deshmukh
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 
Types of Testing
Types of TestingTypes of Testing
Types of TestingFayis-QA
 
Types of Testing
Types of TestingTypes of Testing
Types of TestingSachin-QA
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance TestingKiwiQA
 

What's hot (18)

Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
System testing
System testingSystem testing
System testing
 
Need for automation testing
Need for automation testingNeed for automation testing
Need for automation testing
 
software testing
software testing software testing
software testing
 
Software testing assignment
Software testing assignmentSoftware testing assignment
Software testing assignment
 
Non Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanNon Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar Mohan
 
The importance of non functional testing
The importance of non functional testingThe importance of non functional testing
The importance of non functional testing
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Performance testing
Performance testing Performance testing
Performance testing
 
What are the advantages of non functional testing
What are the advantages of non functional testingWhat are the advantages of non functional testing
What are the advantages of non functional testing
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
General Software Tester Training
General Software Tester TrainingGeneral Software Tester Training
General Software Tester Training
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Types of Testing
Types of TestingTypes of Testing
Types of Testing
 
Types of Testing
Types of TestingTypes of Testing
Types of Testing
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 

Similar to Chapter 6

Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testingKanoah
 
Automated testing-whitepaper
Automated testing-whitepaperAutomated testing-whitepaper
Automated testing-whitepaperimdurgesh
 
Materi Testing dan Implementasi Sistem - Testing throughout the software life...
Materi Testing dan Implementasi Sistem - Testing throughout the software life...Materi Testing dan Implementasi Sistem - Testing throughout the software life...
Materi Testing dan Implementasi Sistem - Testing throughout the software life...devinta sari
 
Test Process
Test ProcessTest Process
Test Processtokarthik
 
Growing Object Oriented Software
Growing Object Oriented SoftwareGrowing Object Oriented Software
Growing Object Oriented SoftwareAnnmarie Lanesey
 
Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++Hong Le Van
 
Testing & implementation system 2-wm
Testing & implementation system 2-wmTesting & implementation system 2-wm
Testing & implementation system 2-wmWiwik Muslehatin
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDhrumil Panchal
 
An introduction to unit testing
An introduction to unit testingAn introduction to unit testing
An introduction to unit testingAdam Stephensen
 
Testing frameworks
Testing frameworksTesting frameworks
Testing frameworksSakthi K
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testingTestingXperts
 
unittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentunittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentAkshayaM79
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategyDaniel Giraldo
 

Similar to Chapter 6 (20)

Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testing
 
Automated testing-whitepaper
Automated testing-whitepaperAutomated testing-whitepaper
Automated testing-whitepaper
 
Materi Testing dan Implementasi Sistem - Testing throughout the software life...
Materi Testing dan Implementasi Sistem - Testing throughout the software life...Materi Testing dan Implementasi Sistem - Testing throughout the software life...
Materi Testing dan Implementasi Sistem - Testing throughout the software life...
 
Test Process
Test ProcessTest Process
Test Process
 
Growing Object Oriented Software
Growing Object Oriented SoftwareGrowing Object Oriented Software
Growing Object Oriented Software
 
Software testing
Software testingSoftware testing
Software testing
 
Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++Test driven development and unit testing with examples in C++
Test driven development and unit testing with examples in C++
 
tharun ppt.pptx
tharun ppt.pptxtharun ppt.pptx
tharun ppt.pptx
 
Testing & implementation system 2-wm
Testing & implementation system 2-wmTesting & implementation system 2-wm
Testing & implementation system 2-wm
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
 
An introduction to unit testing
An introduction to unit testingAn introduction to unit testing
An introduction to unit testing
 
Test automation
Test automationTest automation
Test automation
 
Testing frameworks
Testing frameworksTesting frameworks
Testing frameworks
 
Unit test Android
Unit test AndroidUnit test Android
Unit test Android
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testing
 
System testing
System testingSystem testing
System testing
 
unittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentunittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx document
 
Testing
Testing Testing
Testing
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
 

Recently uploaded

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2
 

Recently uploaded (20)

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 

Chapter 6

  • 1. Chapter 6 Continuous Testing Andrés Felipe Quintero Jonathan Steven Franco
  • 2. Continuous Testing If we want to build software systems that are truly reliable, we have to guarantee reliability at the object level, which can only be achieved through successful unit tests. Otherwise, we can not expect to build highly reliable applications. Of course, just writing the unit test for an object does not necessarily guarantee reliability. The test must effectively exercise the use of the object; In addition, the test must be executed often.
  • 3. Continuous Testing • Automate Unit Test • Automate Component Tests • Automate System Tests • Automate Functional Tests • Categorize Developer Tests • Run Faster Tests First • Write Tests for Defects • Make Component Tests Repeatable • Limit Test Cases to One Asset Practice makes perfect. —ENGLISH PROVERB
  • 4. Automate Unit Test Unit tests verify the behavior of small elements in a software system, which are generally a single class. Occasionally, however, the one-to-one relationship between a unit test and a class increases slightly with additional classes because the classes under test are closely linked. Some unit tests require minimal external dependencies, which are just other classes. These dependent classes are simple and do not have deep object graphics. Occasionally, unit tests even employ simulations, which are simple objects that substitute real and more complicated objects.
  • 5. Automate Component Tests Testing components or subsystems verify parts of a system and may require a fully installed system or some external dependencies, such as databases, file systems, or network endpoints, to name a few. These tests verify that the components interact to produce the expected behavior. A typical component test requires that the underlying database is running and can even cross architectural boundaries. Because each test case exerts a greater amount of code, more code coverage is obtained per test and, therefore, these tests tend to last longer than unit tests.
  • 6. Automate System Tests System tests exert a complete software system and therefore requires a fully installed system. These tests verify that external interfaces such as Web Pages, web service endpoints, and GUIs function end-to- end as designed. The tests of the system have the tendency to prolong the execution times in addition to the long configuration times.
  • 7. Automate Functional Tests Functional tests, as the name implies, test the functionality of an application from a customer's point of view, which means that the tests themselves imitate customers. These tests are also known as acceptance tests. We need a common understanding that tests are differentiated specifically by the configuration they require (initialization databases, etc.), which correlates directly with the time it takes to run.
  • 8. Categorize Developer Tests Categorizing developer tests into respective groups (unit tests, component tests, system tests, and even functional tests) helps you run slower execution tests after the fastest execution tests. For example, running system tests every time you change the repository is a time-consuming and resource- consuming task and delays in notifying interested parties if there is a problem with the compilation. Writing and running tests is obviously a good thing, but unless we treat them as an architectural component that requires proper categorization and structure, they may begin to seem like an obstacle, rather than the key, to success. As you increase the code base during your project, we are talking about many tests, and if you run all the written tests at all times in your system, the compilations take more time to complete.
  • 9. Run Faster Tests First • Unit Tests • Component Tests • System Tests
  • 10. Write Tests for Defects
  • 11. Make Component Tests Repeatable
  • 12. Limit Test Cases to One Asset

Editor's Notes

  1. Para cambiar la imagen de esta diapositiva, seleccione la imagen y elimínela. Después, haga clic en el icono Imágenes del marcador de posición para insertar su propia imagen.