SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Ciklum Java Meet Up: Testing in Legacy:
From Rags to Riches
{
“First name”: “Taras”,
“Last name”: “Slipets”,
“E-mail”: “taras.slipets@gmail.com”,
“LinkedIn Profile”: “http://www.linkedin.com/
pub/taras-slipets/
48/466/516”,
“Interests”: [
“Software Engineering”,
“Music”,
“Skiing”,
]
}
2
About me
3
About presentation
• System that we’ve
received for
improvement
• General feeling about
legacy
• Effective steps that
were performed
• What we’ve eventually
reached
Just long-term project
4
Legacy system is…
Where do we go now
• General feeling about legacy
• System that we’ve received for improvement
• Effective steps that were performed
• What we’ve eventually reached
5
What we’ve received
6
• No documentation
• No developers who has worked on it
• Impatient customers
11-years old system SUCCESSFULLY running on production servers
• Written in Java 1.4
• No frameworks usage
• Patient management & other surprises…
7
Bus factor*
*# of team members that need to be hit by a bus to
kill a project
8
What we’d like to have?
Shiny system with all
cutting-edge frameworks
Reduce pain of
maintenance and support
Where do we go now
• General feeling about legacy
• System that we’ve received for
improvement
• Effective steps that were performed
• What we’ve eventually reached
9
So, how we did it?
10
Setup your environment
11
DEV QA STAGE PROD
12
WRITE DOCS
Logs,
logs,
logs
13
14
Domain
model –
classes
level
Domain
model –
database
level
15
16
Domain
model –
workflows
Peer (“DUCK”) review VERY often
17
Before changing code
18
WE NEED TO ENSURE IT WORKS!
19
20
Testing
Testing levels
Unit tests
21
Integration tests
System and
UI tests
Test existing and expected behavior
22EXPECTATION REALITY
System/UI testing (feature testing)
23
System
tests
Application
Under
testing
Process Process
External world communication
24
25
Tests automation
Unit
Tests
Integration/
Acceptance Tests
System
Tests
Tests automation
26
Unit
Tests
Manual
Tests
27
Finally –
let’s touch
THE
code!
Top occurring issues
28
“do-stuff”
methods
I’m aware
of everything”
classes
“Celebrities”
classes/
interfaces
“Magic goes
here” blocks
without comments
Just
obsolete
code
WHAT TO DO?
29
KEEP
CALM
AND
DIVIDE ET
IMPERA
How about
30
31
Refactoring
facilities
• Extract method
• Extract interface
• Parameter object
• Method object
• Replace type-
checking code with
State/Strategy
• Move method/field
• …
32
Unit tests
jumps into
Frameworks
33
34
After initial tests are
written,
use PowerMock
as indicator
of bad
system design
35
36
No, Thanks!
We are too busy!
37
Most used in our case
• Template method
• Strategy
• State
• Visitor
• Command
• Chain of Responsibility
• Observer
And
again
–
logs,
logs,
logs
38
39
Hey, where are new features?
Extend functionality AFA it’s possible
40
How deep refactoring should be?
41
• S.O.L.I.D.
• D.R.Y.
• K.I.S.S.
• …
42
Theory the Godmother
In real world
43
KEEP IT TIME-BOXED!
Building
&deployment
44
Operational
Monitoring
Logging
45
46
Operations are happy
Where do we go now
• General feeling about legacy
• System that we’ve received for
improvement
• Effective steps that were performed
• What we’ve eventually reached
47
48
Dreams come true - build-pipeline!
Auto Auto Auto Manual
Code
Done
Unit
Tests
Integrate Acceptance
test
Deploy to
production
Continuous Delivery
49
The winner takes it all
50
A-team!
51
• Old project is not a
disaster, but challenge
• Start from environment
setup and feature
testing. At least to some
extent
• Share knowledge with
your colleagues and
write docs
• Do not underestimate
power of classical
remedies (patterns,
working techniques)
• Be agile ;)
Lessons learned
THANK YOU!

Weitere ähnliche Inhalte

Was ist angesagt?

Quack Chat | Fix Database Performance Problems with Profiling
Quack Chat | Fix Database Performance Problems with ProfilingQuack Chat | Fix Database Performance Problems with Profiling
Quack Chat | Fix Database Performance Problems with ProfilingIDERA Software
 
2 anton muzhailo - team development techniques you must know to be a valuab...
2   anton muzhailo - team development techniques you must know to be a valuab...2   anton muzhailo - team development techniques you must know to be a valuab...
2 anton muzhailo - team development techniques you must know to be a valuab...Ievgenii Katsan
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test AutomationTechWell
 
How to get the most out of code reviews
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviewsJavaDayUA
 
How to Use Innoslate for Beginners
How to Use Innoslate for BeginnersHow to Use Innoslate for Beginners
How to Use Innoslate for BeginnersElizabeth Steiner
 
Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City Red Gate Software
 
Automated Testing for Web Applications - Wurbe #36
Automated Testing for Web Applications - Wurbe #36Automated Testing for Web Applications - Wurbe #36
Automated Testing for Web Applications - Wurbe #36Andrei Savu
 

Was ist angesagt? (9)

Actors with akka
Actors with akkaActors with akka
Actors with akka
 
Quack Chat | Fix Database Performance Problems with Profiling
Quack Chat | Fix Database Performance Problems with ProfilingQuack Chat | Fix Database Performance Problems with Profiling
Quack Chat | Fix Database Performance Problems with Profiling
 
2 anton muzhailo - team development techniques you must know to be a valuab...
2   anton muzhailo - team development techniques you must know to be a valuab...2   anton muzhailo - team development techniques you must know to be a valuab...
2 anton muzhailo - team development techniques you must know to be a valuab...
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test Automation
 
How to get the most out of code reviews
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviews
 
How to Use Innoslate for Beginners
How to Use Innoslate for BeginnersHow to Use Innoslate for Beginners
How to Use Innoslate for Beginners
 
Tech Lab: Module 1
Tech Lab:  Module 1Tech Lab:  Module 1
Tech Lab: Module 1
 
Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City
 
Automated Testing for Web Applications - Wurbe #36
Automated Testing for Web Applications - Wurbe #36Automated Testing for Web Applications - Wurbe #36
Automated Testing for Web Applications - Wurbe #36
 

Ähnlich wie Testing in Legacy

Testing in Legacy: From Rags to Riches
Testing in Legacy: From Rags to RichesTesting in Legacy: From Rags to Riches
Testing in Legacy: From Rags to RichesTaras Slipets
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and ToolTEST Huddle
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10Syed Muhammad Hammad
 
Saleforce For Domino Dogs
Saleforce For Domino DogsSaleforce For Domino Dogs
Saleforce For Domino DogsMark Myers
 
Architectural Testability Workshop for Test Academy Barcelona
Architectural Testability Workshop for Test Academy BarcelonaArchitectural Testability Workshop for Test Academy Barcelona
Architectural Testability Workshop for Test Academy BarcelonaAsh Winter
 
Why Your Next QA Job Might Be in Ops
Why Your Next QA Job Might Be in OpsWhy Your Next QA Job Might Be in Ops
Why Your Next QA Job Might Be in OpsEdward Rousseau
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?Rob Brown
 
Testing without defined requirements
Testing without defined requirementsTesting without defined requirements
Testing without defined requirementsrrice2000
 
Jagger: Сервер непрерывного тестирования производительности
Jagger: Сервер непрерывного тестирования производительностиJagger: Сервер непрерывного тестирования производительности
Jagger: Сервер непрерывного тестирования производительностиSQALab
 
SplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for DevopsSplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for DevopsSplunk
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsPerforce
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsdpaulmerrill
 
Making a Mock by Kelsey Shannahan
Making a Mock by Kelsey ShannahanMaking a Mock by Kelsey Shannahan
Making a Mock by Kelsey ShannahanQA or the Highway
 
20121213 qa introduction smileryang
20121213 qa introduction smileryang20121213 qa introduction smileryang
20121213 qa introduction smileryangnetdbncku
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOpsFuture Processing
 
Enterprise system implementation strategies and phases
Enterprise system implementation strategies and phasesEnterprise system implementation strategies and phases
Enterprise system implementation strategies and phasesJohn Cachat
 
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflowMay 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflowAdam Doyle
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using AxiomsSQALab
 

Ähnlich wie Testing in Legacy (20)

Testing in Legacy: From Rags to Riches
Testing in Legacy: From Rags to RichesTesting in Legacy: From Rags to Riches
Testing in Legacy: From Rags to Riches
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
Automated testing 101
Automated testing 101Automated testing 101
Automated testing 101
 
Saleforce For Domino Dogs
Saleforce For Domino DogsSaleforce For Domino Dogs
Saleforce For Domino Dogs
 
Architectural Testability Workshop for Test Academy Barcelona
Architectural Testability Workshop for Test Academy BarcelonaArchitectural Testability Workshop for Test Academy Barcelona
Architectural Testability Workshop for Test Academy Barcelona
 
Why Your Next QA Job Might Be in Ops
Why Your Next QA Job Might Be in OpsWhy Your Next QA Job Might Be in Ops
Why Your Next QA Job Might Be in Ops
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
 
Testing without defined requirements
Testing without defined requirementsTesting without defined requirements
Testing without defined requirements
 
Jagger: Сервер непрерывного тестирования производительности
Jagger: Сервер непрерывного тестирования производительностиJagger: Сервер непрерывного тестирования производительности
Jagger: Сервер непрерывного тестирования производительности
 
SplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for DevopsSplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for Devops
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOps
 
Making a Mock by Kelsey Shannahan
Making a Mock by Kelsey ShannahanMaking a Mock by Kelsey Shannahan
Making a Mock by Kelsey Shannahan
 
20121213 qa introduction smileryang
20121213 qa introduction smileryang20121213 qa introduction smileryang
20121213 qa introduction smileryang
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
 
Enterprise system implementation strategies and phases
Enterprise system implementation strategies and phasesEnterprise system implementation strategies and phases
Enterprise system implementation strategies and phases
 
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflowMay 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
 

Mehr von Taras Slipets

FlixBus Ride with Snowflake
FlixBus Ride with SnowflakeFlixBus Ride with Snowflake
FlixBus Ride with SnowflakeTaras Slipets
 
Serverless Kafka Patterns
Serverless Kafka PatternsServerless Kafka Patterns
Serverless Kafka PatternsTaras Slipets
 
Customers feedback – from data mess to data mesh
Customers feedback – from data mess to data meshCustomers feedback – from data mess to data mesh
Customers feedback – from data mess to data meshTaras Slipets
 
Experiment more, pay less for your AWS ML.pdf
Experiment more, pay less for your AWS ML.pdfExperiment more, pay less for your AWS ML.pdf
Experiment more, pay less for your AWS ML.pdfTaras Slipets
 
Fantastic datasets and where to find them
Fantastic datasets and where to find themFantastic datasets and where to find them
Fantastic datasets and where to find themTaras Slipets
 
Seven Cloud Sins of DevOps
Seven Cloud Sins of DevOpsSeven Cloud Sins of DevOps
Seven Cloud Sins of DevOpsTaras Slipets
 
Evolution of AWS infrastructure for ML: from Zero to Hero
Evolution of AWS infrastructure for ML: from Zero to HeroEvolution of AWS infrastructure for ML: from Zero to Hero
Evolution of AWS infrastructure for ML: from Zero to HeroTaras Slipets
 
DevOps applied: Survival guide
DevOps applied: Survival guideDevOps applied: Survival guide
DevOps applied: Survival guideTaras Slipets
 
Full stack, Full run, Full test
Full stack, Full run, Full testFull stack, Full run, Full test
Full stack, Full run, Full testTaras Slipets
 
What developers can really contribute in DevOps concept?
What developers can really contribute in DevOps concept?What developers can really contribute in DevOps concept?
What developers can really contribute in DevOps concept?Taras Slipets
 
Есть ли жизнь без ООП
Есть ли жизнь без ООПЕсть ли жизнь без ООП
Есть ли жизнь без ООПTaras Slipets
 

Mehr von Taras Slipets (12)

FlixBus Ride with Snowflake
FlixBus Ride with SnowflakeFlixBus Ride with Snowflake
FlixBus Ride with Snowflake
 
Serverless Kafka Patterns
Serverless Kafka PatternsServerless Kafka Patterns
Serverless Kafka Patterns
 
Customers feedback – from data mess to data mesh
Customers feedback – from data mess to data meshCustomers feedback – from data mess to data mesh
Customers feedback – from data mess to data mesh
 
Experiment more, pay less for your AWS ML.pdf
Experiment more, pay less for your AWS ML.pdfExperiment more, pay less for your AWS ML.pdf
Experiment more, pay less for your AWS ML.pdf
 
Fantastic datasets and where to find them
Fantastic datasets and where to find themFantastic datasets and where to find them
Fantastic datasets and where to find them
 
Seven Cloud Sins of DevOps
Seven Cloud Sins of DevOpsSeven Cloud Sins of DevOps
Seven Cloud Sins of DevOps
 
Evolution of AWS infrastructure for ML: from Zero to Hero
Evolution of AWS infrastructure for ML: from Zero to HeroEvolution of AWS infrastructure for ML: from Zero to Hero
Evolution of AWS infrastructure for ML: from Zero to Hero
 
DevOps applied: Survival guide
DevOps applied: Survival guideDevOps applied: Survival guide
DevOps applied: Survival guide
 
Full stack, Full run, Full test
Full stack, Full run, Full testFull stack, Full run, Full test
Full stack, Full run, Full test
 
Java Developers
Java DevelopersJava Developers
Java Developers
 
What developers can really contribute in DevOps concept?
What developers can really contribute in DevOps concept?What developers can really contribute in DevOps concept?
What developers can really contribute in DevOps concept?
 
Есть ли жизнь без ООП
Есть ли жизнь без ООПЕсть ли жизнь без ООП
Есть ли жизнь без ООП
 

Kürzlich hochgeladen

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
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
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
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
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
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
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 

Kürzlich hochgeladen (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
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
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
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...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
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
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 

Testing in Legacy

Hinweis der Redaktion

  1. Moreover…
  2. Bus factor проекта — это мера сосредоточения информации среди отдельных членов проекта. Bus factor показывает количество разработчиков команды программистов, после «попадания» которых «под автобус» (или увольнения, заболевания, рождения ребёнка, смерти) проект не может быть дальше продолжен. Проект будет содержать такую информацию, с которой оставшиеся разработчики не смогут разобраться. Высокий Bus factor проекта означает, что проект будет устойчиво развиваться, если его покинет даже большое количество программистов.
  3. Если Вы – Чак, то вам нечего бояться
  4. Make app self-contained
  5. Further automation and improvements