ISTQB FOUNDATION 4.0 | Tutorial 11 | TDD, BDD, ATDD | DevOps and Testing | CTFL | TM SQUARE

TM SQUARE
12 Dec 202317:30

Summary

TLDRThis tutorial covers ISTQB Foundation level certification, focusing on testing within the SDLC, particularly agile methodologies and the integration of testing in DevOps. It introduces Test-Driven Development (TDD), Behavior-Driven Development (BDD), and Acceptance Test-Driven Development (ATDD) as approaches where tests are written before code, promoting early testing and iterative development. The video also explores DevOps, emphasizing the synergy between development, testing, and operations to achieve common goals, and discusses the benefits and challenges of implementing a DevOps culture, including continuous integration and delivery (CI/CD).

Takeaways

  • 📘 Testing in the SDLC: The tutorial covers testing throughout the software development life cycle (SDLC), focusing on Chapter 2, Section 2.1.
  • 🆕 New Syllabus Additions: The script introduces testing as a driver for software development and the integration of DevOps and testing, which are new to the ISTQB syllabus.
  • 🔄 Agile Methodology: Discusses test approaches in the agile methodology, including Test-Driven Development (TDD), Behavior-Driven Development (BDD), and Acceptance Test-Driven Development (ATDD).
  • 🛠️ Shift Left Approach: Highlights the 'shift left' philosophy, where testing is conducted earlier in the development process to drive development and catch issues sooner.
  • 📝 Test-First Principle: Emphasizes writing test cases or scripts before the actual code to ensure the code meets the requirements when developed.
  • 🔬 TDD Details: Explains Test-Driven Development as a process where unit tests are written first, followed by code that satisfies the tests, and then refactoring.
  • 🎯 ATDD Focus: Describes Acceptance Test-Driven Development, where tests are derived from acceptance criteria, useful for User Acceptance Testing (UAT).
  • 🌐 BDD for Stakeholders: Behavior-Driven Development uses natural language test cases understandable by all stakeholders, which are then translated into executable tests.
  • 🤝 DevOps Integration: Introduces DevOps as an approach that combines development and operations, including testing, to achieve common goals.
  • 🔄 CI/CD Pipeline: Discusses the importance of Continuous Integration (CI) and Continuous Delivery (CD) in DevOps for faster feedback and higher quality code.
  • 🚀 Benefits of DevOps: Outlines the benefits of DevOps, such as fast feedback, reduced regression risk, and the promotion of automated processes.
  • 🛑 DevOps Challenges: Notes the challenges of implementing DevOps, including the need for a defined pipeline, expertise, and additional resources for test automation.

Q & A

  • What is the main focus of Chapter 2 in the ISTQB Foundation Level certification tutorial?

    -The main focus of Chapter 2 is discussing testing throughout the software development life cycle (SDLC), with a specific emphasis on testing approaches in the context of agile methodologies and the integration of testing in DevOps practices.

  • What does 'TDD' stand for in the context of agile testing methodologies?

    -TDD stands for Test Driven Development, an approach where unit test cases are written before the unit code, and the code is then written to satisfy the tests.

  • How does the principle of 'Shift Left' relate to testing in the agile methodology?

    -The 'Shift Left' principle involves moving testing activities to the earlier stages of the development life cycle, emphasizing early testing and integration of test cases with development to drive the coding process.

  • What is Acceptance Test Driven Development (ATDD) and how does it differ from TDD?

    -ATDD focuses on deriving test cases from acceptance criteria, which are the satisfactory conditions of a user story. Unlike TDD, which is technically focused, ATDD is business-facing and is particularly useful for User Acceptance Testing (UAT).

  • What is Behavior Driven Development (BDD) and how does it facilitate communication among stakeholders?

    -BDD is an approach that uses test cases written in simple natural language, which is easy for all stakeholders to understand. It typically follows the 'Given-When-Then' format, allowing for clear communication of the expected behavior of the system.

  • What is DevOps and how does it integrate development and operations?

    -DevOps is an organizational approach that aims to create synergy by getting development (including testing) and operations to work together closely to achieve common goals, emphasizing continuous integration and delivery (CI/CD) and eliminating the traditional separate testing phase.

  • What are some of the key benefits of implementing DevOps in an organization?

    -Benefits of DevOps include fast feedback on code quality, reduced risk of regressions due to automated testing, promotion of high-quality code submission by developers, and the ability to build, test, and release high-quality code faster through automated delivery pipelines.

  • What challenges might an organization face when adopting DevOps practices?

    -Challenges include the need to define and establish a DevOps delivery pipeline, the dependency on having knowledgeable personnel, the need to introduce and maintain CI/CD tools, and the requirement for additional resources to set up and maintain test automation.

  • How does DevOps facilitate the shift of certain non-functional code quality characteristics to an earlier phase in the development process?

    -DevOps promotes the integration of non-functional testing such as performance and security into the early stages of development, like unit testing, to identify potential issues early on and reduce the limitations of performance issues.

  • What is the significance of the 'Gherkin' language in Behavior Driven Development?

    -Gherkin is a simple, domain-specific language used in BDD to describe software's behavior in a way that is easy for all stakeholders to understand. It allows for the translation of human-readable descriptions into executable test scripts.

  • How does the tutorial suggest that a tester can enhance the efficiency of the development process in agile methodologies?

    -The tutorial suggests that by writing test cases first and giving them to developers, the development process can be more efficient. Developers can write code to make these tests pass, reducing the time spent on defect reporting and tracking, and allowing for faster identification and resolution of issues.

Outlines

00:00

📚 Introduction to Testing in SDLC and Agile Methodologies

This paragraph introduces the tutorial on ISTQB Foundation level certification, focusing on Chapter 2 about testing in the context of the software development life cycle (SDLC). It highlights the inclusion of newly added topics such as testing as a driver for software development and the intersection of DevOps and testing. The speaker discusses the agile methodology's test approaches, specifically Test-Driven Development (TDD), Behavior-Driven Development (BDD), and Acceptance Test-Driven Development (ATDD), emphasizing their role in directing the development process through early testing and a 'shift left' strategy.

05:02

🔍 Deep Dive into Agile Testing Approaches

The second paragraph delves deeper into the three agile testing approaches: TDD, ATDD, and BDD. It explains that TDD involves writing unit tests before the code, validating the code against these tests, and then refactoring both tests and code. ATDD is distinguished by deriving tests from acceptance criteria, making it useful for User Acceptance Testing (UAT) and aligning with business-facing requirements. BDD is characterized by its use of natural language to express system behavior in test cases, which are then translated into executable tests. The paragraph underscores the importance of these approaches in the agile methodology and their practical application in software development.

10:02

🛠️ The Integration of DevOps and Testing

This section introduces the concept of DevOps and its significance in modern software development. It describes DevOps as an organizational approach that aims to create synergy between development, including testing, and operations to achieve common goals. The paragraph explains how DevOps seeks to embed testing within the development process, allowing for parallel testing and direct transition to operational environments. It also touches on the cultural shift required within organizations to adopt DevOps practices, such as continuous integration and continuous delivery (CI/CD), and the benefits of automated testing in ensuring code quality and reducing regression risks.

15:05

🚀 Benefits and Challenges of Implementing DevOps

The final paragraph discusses the benefits of adopting DevOps, such as fast feedback on code quality, minimized regression risks due to frequent automated testing, and the promotion of high-quality code submission by developers. It also addresses the challenges associated with DevOps, including the need for a well-defined and established delivery pipeline, the introduction and maintenance of CI/CD tools, and the additional resources required for test automation. The speaker wraps up the tutorial by summarizing the key concepts covered and encouraging viewers to continue learning and exploring the subject matter.

Mindmap

Keywords

💡ISTQB Foundation Level Certification

The ISTQB Foundation Level Certification is an entry-level qualification for software testers, demonstrating foundational knowledge in software testing principles and practices. In the video, this certification serves as the context for discussing various testing methodologies and approaches within the software development life cycle (SDLC).

💡SDLC

SDLC stands for Software Development Life Cycle, which is a process that describes the stages involved in the development of a software product. The video script discusses testing within the context of the SDLC, emphasizing the importance of testing at various stages to ensure software quality.

💡Agile Methodology

Agile Methodology is a flexible approach to software development that promotes iterative progress, collaboration, and customer feedback. The script introduces testing approaches such as TDD, BDD, and ATDD, which are integral to the Agile Methodology, focusing on writing tests before code to drive development.

💡TDD (Test-Driven Development)

TDD is a software development technique where tests are written before the code that implements the functionality. It is highlighted in the script as a way to ensure that code meets the requirements and is a fundamental practice in Agile development, fostering a tight loop of writing code to pass tests.

💡BDD (Behavior-Driven Development)

BDD is an Agile approach that encourages the use of natural language to describe software behavior, making it accessible to all stakeholders. The script explains that BDD uses 'Given-When-Then' scenarios to define test cases, which are then translated into executable tests guiding the development process.

💡ATDD (Acceptance Test-Driven Development)

ATDD is a practice where tests are derived from acceptance criteria, ensuring that the developed software meets the user's requirements. The script mentions that ATDD is particularly useful for User Acceptance Testing (UAT), as it helps confirm that the software fulfills the necessary conditions for acceptance.

💡DevOps

DevOps is an organizational culture and practice that aims to reduce the gaps between software development and operations by promoting collaboration and integration. The script discusses how DevOps integrates testing within the development process, emphasizing the importance of continuous integration and delivery (CI/CD).

💡Shift Left Approach

The 'Shift Left' approach refers to moving testing earlier in the SDLC to find and fix defects sooner. The script explains that this approach is central to Agile testing methodologies, allowing for iterative development and continuous feedback, which is crucial for maintaining software quality.

💡CI/CD (Continuous Integration/Continuous Delivery)

CI/CD is a set of practices in DevOps that involves automating the integration and delivery of code changes. The script describes CI/CD as a way to establish stable test environments and reduce the need for repetitive manual testing, which is a key benefit of the DevOps approach.

💡Regression Testing

Regression Testing is the process of verifying that changes to the code have not adversely affected existing features. The script notes that the risk of regressions is minimized in DevOps due to the frequent execution of automated regression tests, ensuring that new code does not break existing functionality.

💡Test Automation

Test Automation involves creating scripts or programs to execute tests automatically. The script discusses the importance of test automation in DevOps, as it requires additional resources and can be challenging to establish and maintain, but ultimately leads to faster feedback and reduced manual testing efforts.

Highlights

Introduction to ISTQB Foundation level certification and Chapter 2 focus on testing throughout the SDLC.

Discussion on 2.1.3 - Testing as a driver for software development.

Introduction to newly added syllabus topics: TDD, BDD, and ATDD in agile methodology.

Explanation of Test-Driven Development (TDD) and its principle of writing test cases before code.

Detailed process of TDD where code is validated by pre-written test cases, reducing defect reporting time.

Acceptance Test-Driven Development (ATDD) focuses on deriving test cases from acceptance criteria.

Behavior-Driven Development (BDD) uses natural language for test cases to express desired application behavior.

Introduction to the 'Given-When-Then' format used in BDD to write test cases.

Overview of DevOps and its integration of development, including testing, and operations.

DevOps emphasizes continuous integration (CI) and continuous delivery (CD) for faster code release.

Automated tests in DevOps trigger on every code check-in, enabling quick feedback and regression testing.

CI promotes a shift-left approach by encouraging developers to submit high-quality code with automated tests.

Advantages of DevOps include fast feedback on code quality and minimized risk of regressions.

Challenges in DevOps include the need for expertise in establishing CI/CD pipelines and maintaining automation.

Summary of key concepts discussed, emphasizing the benefits and challenges of adopting DevOps in organizations.

Transcripts

play00:00

Hello friends and greetings for the day

play00:01

welcome back to another tutorial on

play00:03

istqb Foundation level certification we

play00:06

are in Chapter 2 talking about testing

play00:08

throughout the sdlc and continuing ahead

play00:11

with 2.1 which is testing in context of

play00:13

software development life cycle as this

play00:15

is a big topic we have the second

play00:17

segment which we are covering today that

play00:19

is

play00:20

2.1.3 testing as a driver for software

play00:23

development and

play00:25

2.1.4 that is devops and testing indeed

play00:29

these two topics are those two topics

play00:31

which are newly added to our syllabus so

play00:33

let's look at them in more

play00:43

detail well the first thing coming into

play00:45

our discussion today is of course

play00:47

talking about some of the test

play00:49

approaches from the agile methodology as

play00:51

this is a new addition to the syllabus

play00:53

certainly we are discussing this as a

play00:55

part of foundation level for the first

play00:57

time however this topic is already

play00:59

included in the next level which is

play01:00

agile certification of istqb so if in

play01:04

case you are moving to the next level

play01:06

you will learn this topic once again so

play01:08

at this point of time we are just

play01:10

talking on a very high level as an

play01:11

introductory topic that what are tdd bdd

play01:15

and atdd in terms of applying testing

play01:18

approaches to that of the agile

play01:20

methodology in a very short and simple

play01:22

way we are talking about that these

play01:25

three techniques are basic basically a

play01:27

similar development approaches or B

play01:29

basically testing approaches the reason

play01:32

we have a Twist in this terminology

play01:34

whether it is a development approach or

play01:36

it is a testing approach is because the

play01:39

development is driven by the testing

play01:41

that means the test cases are written

play01:43

first or automation test scripts

play01:45

actually are written first and then the

play01:47

development will be done so it's right

play01:49

opposite to that of what happens in our

play01:51

general life cycles and in these

play01:53

approaches it is right opposite to that

play01:56

so let's exactly look what the content

play01:57

is trying to convey us here so so of

play02:00

course these are very similar to each

play02:02

other but here the similarity is that

play02:05

the tests are defined as means of

play02:07

directing the development process altoe

play02:10

each of these approaches implements the

play02:12

principle of early testing and follow a

play02:14

shift left approach however shift left

play02:17

approach is coming in our next

play02:18

discussion but shift left approach is

play02:20

more of like shifting something in the

play02:22

left hand side on the life cycle so as

play02:24

we all know testing happens later in the

play02:27

life cycle which is on the right hand

play02:28

side is moving before something which is

play02:31

used to happen before that so

play02:33

development is a before um an activity

play02:36

which happens prior to test executions

play02:39

but now the test cases are written

play02:41

before development can even kick off so

play02:44

how exactly this basically cats the need

play02:46

of the agile methodology and in this

play02:49

case of course the test cases are

play02:50

written or tests are defined before the

play02:53

code is written the support they support

play02:55

an iterative development model that

play02:57

means more of like aile methodologies

play02:59

only and these approaches are generally

play03:01

characterized as follows the very first

play03:04

one here is tdd on a very high level

play03:07

test driven development approach is

play03:09

going to help you with directs the

play03:12

coding through the test cases instead of

play03:14

extensive software design and then test

play03:17

are written first then the code is

play03:19

written to satisfy the test and then the

play03:21

test are test and code are refactored so

play03:25

these are very very high level

play03:26

information what they're trying to give

play03:27

you but does not make any kind of

play03:29

detailed explanation so let me just add

play03:31

few more lines on top of this which is

play03:33

beyond the syllabus that test driven

play03:35

development is an approach where the

play03:37

unit test cases are written prior to the

play03:40

unit codes that means simple programs

play03:42

when they are written we make use of

play03:44

test cases being written first so how

play03:46

does this principle even work in reality

play03:49

so if you deep dive into the process you

play03:52

understand that a code will be validated

play03:55

by set of test cases as far as the test

play03:57

passes the code is appropriate create or

play04:00

meeting the requirements if in case the

play04:02

code has anomaly the test cases will

play04:04

fail or test cases will identify the

play04:07

defect and the developer has to fix it

play04:09

in order to meet the requirements but

play04:11

when we realized that the tests are

play04:13

something which finally validate the

play04:15

code not anything else like design and

play04:18

other things then why don't we write

play04:19

those test cases prior to development

play04:22

and give those test to the developer

play04:24

that hey now you go in a repeated tight

play04:26

Loop of cycles of writing code in order

play04:29

to make this test pass that makes sense

play04:32

right so a tester will write test cases

play04:34

and give it to developer and then the

play04:36

developer will start writing code in

play04:38

order to make that test pass as in when

play04:40

they run the test if the test fails that

play04:42

means code has something wrong and I'm

play04:44

reducing a lot of time in reporting a

play04:47

defect reporting or following up or

play04:49

tracking the defect foreclosure talking

play04:51

about all those collaborations making

play04:53

other people understand now the

play04:55

developer himself or herself understands

play04:57

that where my code is wrong why my test

play04:59

is is not passing right and that reduces

play05:01

a lot of human effort in fact very

play05:04

proficient and faster when compared to

play05:06

our understanding of the life cycle so

play05:09

in that context we tried this out and

play05:11

here the tests were written before the

play05:13

development happens and these test are

play05:16

basically technically written that's the

play05:18

reason this is only applicable at the

play05:20

unit level yes you can say that a

play05:22

developer one will be writing the test

play05:24

cases here for units and developer two

play05:26

will be writing the code and once the

play05:28

test passes we groom the code we write

play05:30

more additional steps and make this code

play05:33

applicable to the rest of the body

play05:36

similarly the next one we have is called

play05:38

as atdd which stands for acceptance test

play05:40

driven development and here we do have

play05:43

uh options like derived test from

play05:45

acceptance criteria that's something

play05:46

unique as a part of the system design

play05:49

process and then tests are written

play05:51

before the part of the application is

play05:52

developed to satisfy the test the only

play05:55

difference here is the tests are not

play05:57

technically written that means they are

play05:59

not driven by the technical programs or

play06:02

the expectation rather the test cases

play06:04

are derived from the acceptance criteria

play06:06

so in aile it is very important that for

play06:09

a user story to be called as done or

play06:12

completed it should meet the defined

play06:14

acceptance criteria so as acceptance

play06:16

criteria is something which are

play06:18

satisfactory criterias of a user story

play06:21

then deriving test cases from them would

play06:23

make a lot of sense indeed these tests

play06:25

are also useful for uat that is more

play06:28

driven from a customer perspective Ive

play06:29

or business facing thus these test cases

play06:32

which are written are very helpful in

play06:34

uat as well that is user acceptance

play06:36

testing so the only hairline difference

play06:38

between this approach is the test cases

play06:40

derived from our acceptance criteria and

play06:43

in the same line if I go with the third

play06:45

one that is behavior driven development

play06:48

this expresses the desired behavior of

play06:50

an application with test cases written

play06:52

in a simple form of natural language

play06:55

which is easy to understand by any

play06:57

stakeholder usually using the format

play07:00

that is given when then and test cases

play07:04

are then automatically translated into

play07:06

executable test so again if you talk

play07:09

about the behavior driven development

play07:11

again the difference here is that the

play07:13

test cases are derived from the

play07:15

requirement the behavior of the system

play07:17

so one is technical facing second is

play07:19

business facing and third is requirement

play07:22

facing that is user perspective so here

play07:25

we do have a very a very common language

play07:27

called as Garin and that kin language

play07:30

stands for given when then where things

play07:32

are written in three steps given certain

play07:34

expectations or prerequisites when a

play07:36

user performs these steps then this is

play07:39

what you should expect to happen so if

play07:41

you just write this language we can

play07:43

translate this into a programmable

play07:45

executable test scripts and that will be

play07:48

further executed and then the

play07:50

development will happen on top of it so

play07:52

put together these are some very very

play07:54

specific and Niche approaches used in

play07:56

agile methodology but as today most of

play07:58

the organizations are very much driven

play08:01

by aile methodology it certainly adds a

play08:03

lot of value for anyone to understand at

play08:05

Foundation level that what are these

play08:08

introductory test approaches the next

play08:10

important topic we're talking about is

play08:12

devops and testing again this is one of

play08:14

the new topics being added to the

play08:16

syllabus for the first time and here we

play08:18

just trying to compare and understand

play08:19

that how devops and testing are going to

play08:22

work in today's scenario and here we are

play08:24

also introducing you to understanding of

play08:26

the devops keyword that many people at

play08:28

this point of time should know that what

play08:31

is devops altogether so devops is

play08:34

basically an organizational approach

play08:36

aiming to create Synergy by getting

play08:38

development which is including testing

play08:41

and operations to work together to

play08:43

achieve a set of common goals now if I

play08:45

talk about the devops as a word It's a

play08:48

combination of development and

play08:50

operations so development of course is

play08:52

the coding and implementation phase and

play08:54

operation is when it goes life or get

play08:57

into the environment that is targeted

play08:59

environment and it can run there so that

play09:01

is more of like uh production or maybe

play09:04

you know we talk about the uat where

play09:06

finally it goes into the target

play09:08

environment and we check whether it is

play09:10

working and operational or not so we are

play09:12

talking about eliminating the stage of

play09:14

testing but does that mean we are not

play09:16

talking about testing at all no devops

play09:19

is trying to say that hey devops means

play09:21

Dev part will include an embedded

play09:23

testing as a part of it and uh along

play09:26

with development parallel testing will

play09:28

take place and then it will directly go

play09:30

to the operational environments rather

play09:33

than having a dedicated phas for testing

play09:36

in between Dev and operations so they

play09:38

are skipping that particular phase

play09:39

combining it together with Dev and then

play09:41

trying to move directly to operations

play09:44

and that's another one of the trending

play09:45

thing so let's see what exactly the Deep

play09:47

dive of devops is and how this could be

play09:50

applied to the organization so devops

play09:52

when it comes to uh the understanding of

play09:55

the real time of course the when the

play09:57

team works together they will be able to

play09:58

do

play09:59

every time a new code is checked in

play10:02

every time a new piece of code has been

play10:05

merged with the existing part of the

play10:06

application or existing codes it would

play10:09

certainly allow us to trigger an

play10:11

automated test which would help us to

play10:13

check the build verification and the

play10:16

regression as well so automation test

play10:18

scripts can be written pretty well and

play10:20

that could even go in line with our

play10:23

automated

play10:24

confirmations of all the tests what you

play10:26

really need to do devops requires a

play10:28

culture shift within an organization to

play10:30

bridge the gaps between development

play10:33

which again includes testing and

play10:34

operational operations while treating

play10:37

their function with equal value right

play10:40

also devops promotes test autonomy fast

play10:43

feedback integrated tool chains and

play10:45

Technical practices like continuous

play10:47

integration and continuous delivery I

play10:50

think this is what I was trying to

play10:51

elaborate just a moment ago that when it

play10:53

comes to devops it's more about every

play10:55

time a developer is trying to write a

play10:57

code and check into the repository every

play11:00

single check-in should trigger a build

play11:02

verification test and many other

play11:04

activities like static analysis unit

play11:06

test cases or regression test Suite to

play11:09

be triggered automatically step by step

play11:11

to make sure that the new unit is

play11:13

working fine at the same time when

play11:16

integrated with existing piece of a code

play11:18

it should not break that that means even

play11:21

the regressions are not introduced so in

play11:23

that context continuous integration can

play11:25

be achieved and continuous delivery can

play11:28

be done so we also have the terminology

play11:30

as cicd very commonly known and called

play11:33

as continuous integration continuous

play11:35

deployment so we have dedicated tool

play11:37

support for these kind of activities but

play11:40

again we should spend some time to Deep

play11:42

dive into each of these that how exactly

play11:44

it can be achieved in reality another

play11:47

important thing here is this enables the

play11:48

team to build the test and release high

play11:52

quality code faster through devop

play11:54

delivery pipelines indeed why not if I

play11:57

follow the discussion what we just had

play11:59

for the last few minutes we understand

play12:01

that if such things can be automated or

play12:04

could be integrated as a part of a

play12:06

pipeline where the new code is checked

play12:08

in and all the other tests are triggered

play12:10

then a lot of effort and time being

play12:12

consumed traditionally can be reduced

play12:16

finally at the end we would like to talk

play12:18

also about some of the quick benefits

play12:20

and limitations of having devops in an

play12:22

organization I think keeping it very

play12:24

straightforward at this point of time we

play12:26

don't want to Deep dive and correlate to

play12:28

that of the real-time Industries or how

play12:30

these practices actually become

play12:32

advantages or drawbacks of having devops

play12:35

but on a high level we'll give you a

play12:37

quick outline that what does this even

play12:39

mean so talking about the first

play12:41

advantages of devops so from the testing

play12:43

perspective some of the benefits of

play12:45

devops are that is fast feedback on the

play12:47

code quality and whether changes

play12:50

adversely affect existing code I think

play12:52

that's very straightforward what we have

play12:53

been talking so far that you will get a

play12:55

quick response because as in when the

play12:57

code is checked in you'll have a quick

play12:59

response right there right you don't

play13:01

have to wait for deployments then run

play13:03

your test cases a deleter phase and so

play13:05

on you'll get a quick response and

play13:07

second important thing is that is the

play13:10

adverse side effect which is regressions

play13:12

also to talk about CI promotes a shift

play13:15

LIF approach in testing by encouraging

play13:17

developers to submit high quality code

play13:19

accompanied by component tests and

play13:22

static analysis so I told you some of

play13:24

the activities which we look forward to

play13:26

automate as a part of our CI pipeline

play13:29

includes the static analysis code sorry

play13:31

static analysis investigation and uh we

play13:34

do talk about unit test cases we do talk

play13:37

about the regression test suite and many

play13:39

other things which are actually a part

play13:41

of this pipeline additionally it

play13:43

promotes automated process like cicd

play13:46

that facilitates establishing stable

play13:49

test environments also increases the

play13:51

view on non-functional code quality

play13:53

characteristics which are certainly

play13:55

going to be evaluated then and there

play13:57

itself as we do understand we try to

play14:00

prioritize our performance and security

play14:02

and many other non-functional test to

play14:04

early stages like unit testing the

play14:06

reason is if I could identify the

play14:08

anomalies in the code which is written

play14:10

for a simple piece of program then I

play14:13

would be able to detect the memory leaks

play14:15

then and there and reduce my limitations

play14:17

of performance issues so in that context

play14:20

we also can very well uh have one of the

play14:23

advantages that some of the quality

play14:25

characteristics like performance and

play14:26

security can be even pre ped or shifted

play14:30

left to an early phase additionally uh

play14:33

if I talk about automation through a

play14:34

delivery pipeline reduces the need for

play14:37

repeative manual testing of course the

play14:39

more we talk about automation the less

play14:41

the manual repeative effort will be and

play14:44

the more we look at automations the

play14:46

faster the process will be so in that

play14:48

context we look forward to have more and

play14:50

more automations in place when it comes

play14:53

to devops or especially processes like

play14:56

agile all we have another Point here to

play14:59

talk about is the risk in regression is

play15:02

also minimized due to the scale and

play15:04

range of automated regression test so

play15:07

the more frequently the Direction test

play15:09

cases takes place the less the risk of

play15:13

failure will be that means the later the

play15:16

often we do or the less we do regression

play15:19

testing the chances of regressions being

play15:21

missed are very high but given that in

play15:24

devops we are very tightly working

play15:26

between the code and the test executions

play15:28

we certainly have a very good reduction

play15:32

in the risk of regressions so we'll

play15:34

identify them as soon as possible but

play15:37

nothing comes without a cost so of

play15:39

course there are certain challenges what

play15:40

we have to deal with when it comes to

play15:42

devops and some of them are listed here

play15:44

that is devops is not without its risk

play15:46

and challenges and that includes the

play15:48

devops delivery pipeline must be defined

play15:50

and established someone in your

play15:52

organization for the first time should

play15:54

introduce this people should be well

play15:56

knowledgeable on that if the team is not

play15:58

aware of what is devops and how do we

play16:00

make use of it how do we automate things

play16:02

how do we trigger it and connect

play16:04

different tools to one item that is C

play16:06

pipeline we will not be able to achieve

play16:09

that so someone has to introduce it

play16:10

someone has to establish it with the

play16:12

right set of knowledge so we need a

play16:13

devops guy for sure so there will be

play16:16

some dependency and maybe the expertise

play16:18

also matters there it's just not that

play16:20

someone with the basic knowledge of

play16:22

devops can really achieve that on the

play16:24

other hand we do have cicd tools must be

play16:26

introduced and maintained that means a

play16:28

new headache will be a part of your

play16:30

journey the tools and how exactly you

play16:32

will be maintaining that over a period

play16:34

of time and the last but not the least

play16:36

we have the test automation requires

play16:38

additional resources and may be

play16:40

difficult to establish and maintain them

play16:42

so you would need more resources like

play16:44

the test data the art artifacts the

play16:47

environment and lot many other things

play16:50

which contributes to the setup of the

play16:52

automation for this devops process so

play16:55

put together there were some interesting

play16:58

Concepts to discuss today and we had

play17:00

learned them pretty well from the

play17:02

syllabus point of view and a little

play17:03

Beyond as promised always so that's all

play17:06

from this particular tutorial team

play17:07

should you have anything else feel free

play17:09

to comment below I'm always there to

play17:11

address your queries and answer them

play17:12

well till then keep learning keep

play17:14

exploring keep understanding the context

play17:16

thanks for watching the video team and

play17:18

happy

play17:22

[Music]

play17:27

learning

play17:28

[Music]

Rate This

5.0 / 5 (0 votes)

Etiquetas Relacionadas
ISTQBAgile TestingSDLCTDDBDDATDDDevOpsTesting ApproachesContinuous IntegrationTest AutomationQuality Assurance
¿Necesitas un resumen en inglés?