Павло Сафонов - Як оцінити ефективність автоматизації

QA Club Lviv
26 Feb 202459:21

Summary

TLDRThe speaker shares a humorous anecdote about preparing for a presentation, emphasizing the importance of proper lighting and effective storytelling techniques. He then delves into evaluating the efficiency of test automation, covering key metrics such as test frequency, success rate, execution time, and user adoption. The speaker stresses the significance of making automation accessible and trusted by the entire team, positioning it as a reliable source of information akin to media outlets. Throughout the lighthearted narrative, the speaker imparts practical insights and strategies for achieving efficient and impactful test automation.

Takeaways

  • 😀 The goal of test automation is to provide reliable information about the build status as quickly as possible.
  • 🔑 Test execution frequency is a key metric - tests should be run as frequently as possible, ideally on every build.
  • 💚 A high pass rate (ideally 80-100%) for test runs is desirable and indicates an effective test automation process.
  • ⏱️ Test execution time should be minimized, aiming for under 30 minutes for rapid feedback to developers.
  • 👥 Involving as many team members as possible in using the test automation is crucial for its effectiveness.
  • 📊 Metrics like test coverage, defect detection rate, and manual vs. automated test execution can be used to demonstrate the value of test automation.
  • 📢 Act as an ambassador for test automation by sharing success stories and promoting its benefits within the team.
  • 🔁 Techniques like parameterized tests and randomizers can help mitigate the "pesticide paradox" and improve test resilience.
  • 🤖 Leveraging tools like AI-generated images can aid in making presentations more engaging and effective.
  • 🎯 Clearly defining the goals and metrics for test automation is essential for measuring its effectiveness and driving continuous improvement.

Q & A

  • What is the main topic of the presentation?

    -The main topic of the presentation is measuring the effectiveness of test automation and discussing various metrics and approaches to achieve efficient test automation.

  • What is the primary goal of test automation, according to the presenter?

    -The primary goal of test automation, as stated by the presenter, is to provide reliable information about the state of the build as quickly as possible.

  • What are some of the metrics mentioned for evaluating the effectiveness of test automation?

    -Some of the metrics mentioned include: frequency of test execution, success rate of test runs, execution time of tests, code coverage, and the number of people using the automated tests.

  • Why is it important to run automated tests frequently?

    -Running automated tests frequently is important because it allows you to gather up-to-date information about the latest build and identify issues promptly. The presenter recommends aiming for a coefficient of less than 1, meaning running tests more frequently than once per build.

  • What is considered a good success rate for test runs, according to the presenter?

    -For end-to-end tests, the presenter considers a success rate of 60-80% to be reasonable, while for unit, integration, or API tests, a success rate of 80-100% is recommended.

  • Why is execution time of tests important?

    -Execution time of tests is crucial because developers and QA professionals are unlikely to use automation if the tests take too long to run. The presenter suggests aiming for test execution times under 30 minutes to encourage wider adoption.

  • How can involving more people in using test automation increase its effectiveness?

    -Involving more people, such as developers, managers, and analysts, in using test automation can increase its effectiveness as it ensures that the provided information is trusted and acted upon. The presenter emphasizes being an ambassador for test automation within the team.

  • What is the purpose of comparing manual testing efforts with automated testing efforts?

    -The purpose of comparing manual testing efforts with automated testing efforts is to demonstrate potential cost savings and justify the investment in test automation. However, the presenter cautions against relying too heavily on this approach, as it may not accurately reflect the true benefits of automation.

  • What is the presenter's view on using BDD (Behavior-Driven Development) and keyword-driven automation?

    -The presenter believes that using BDD and keyword-driven automation is generally ineffective for test automation. He suggests that these approaches often fail to automate effectively and instead provide a layer of abstraction that does not contribute to genuine automation.

  • How does the presenter recommend dealing with flaky tests?

    -The presenter acknowledges the challenge of flaky tests and suggests using techniques like parameterized tests and randomizers to mitigate the pesticide paradox. However, he emphasizes the importance of minimizing the number of flaky tests through proper test design and maintenance.

Outlines

00:00

🗣️ Introduction and Personal Background

The speaker introduces himself, shares his background as a QA engineer, YouTuber, and his experience in product companies. He discusses his motivation for the presentation and the importance of automation testing in bringing people together and sharing knowledge.

05:01

🎯 Understanding the Purpose of Test Automation

The speaker emphasizes the need to understand the purpose of test automation, which he defines as providing reliable information about the state of the build as quickly as possible. He highlights the importance of having a clear goal to measure the effectiveness of the automation process.

10:01

🔍 Measuring Effectiveness: Definition and Considerations

The speaker defines effectiveness as the measure of successfully performing an action, considering resource consumption, time, and other factors. He stresses the importance of considering personal growth and knowledge acquisition alongside company and product benefits when measuring effectiveness.

15:03

🤖 Automation as a Parallel Project

The speaker emphasizes that test automation should be treated as a parallel project within the main project, requiring proper attention and resources. He discusses the limitations of using Return on Investment (ROI) as a metric for evaluating automation effectiveness and the need for a more comprehensive approach.

20:04

💰 Calculating Cost Savings from Automation

The speaker presents a formula for calculating potential cost savings from automation by considering the expenses of manual testing, defect resolution, and infrastructure costs. He cautions against relying solely on this approach, as it often involves assumptions and may not reflect the true benefits of automation.

25:07

📈 Visualizing Automation Effectiveness

The speaker suggests using visual aids, such as graphs and charts, to demonstrate the effectiveness of automation to stakeholders. These visuals can include test coverage, defect detection rates, and the ratio of automated to manual testing over time, potentially highlighting the benefits of automation.

30:08

🔄 Frequency of Test Execution

The speaker emphasizes the importance of running automated tests as frequently as possible, ideally for every build. He introduces a metric to measure the frequency of test execution relative to the number of builds, highlighting the benefits of frequent testing and the potential pitfalls of infrequent execution.

35:10

🟢 Test Success Rate as an Indicator

The speaker discusses the percentage of successful test runs as an indicator of the effectiveness of automation. He provides guidance on interpreting different success rate ranges and their implications for the overall automation process, suggesting potential issues and areas for improvement.

40:13

⏱️ Test Execution Time and Developer Adoption

The speaker highlights the importance of minimizing test execution time to promote developer adoption and integration of automation into their workflow. He emphasizes the need for tests to run quickly, preferably within 30 minutes, to maintain developer engagement and encourage regular use of automation.

45:14

🌟 Promoting Automation as an Ambassador

The speaker encourages being an ambassador for automation, sharing success stories, promoting its benefits, and fostering trust in the automation process. He suggests involving as many team members as possible in the automation effort to increase its effectiveness and impact.

50:15

📰 Reliable Information and Trusted Automation

The speaker compares effective automation to a reliable news source, providing timely and trustworthy information that covers important topics. He emphasizes the importance of building trust in the automation process by ensuring reliable and actionable results, without which the automation efforts cannot be considered truly effective.

55:18

🎤 Q&A Session and Closing Remarks

The speaker engages in a Q&A session, addressing queries from the audience on various topics, including keyword-driven automation, the role of AI in automation, dealing with flaky tests, and fundraising efforts. He concludes by thanking the audience and encouraging donations for a charitable cause.

Mindmap

Keywords

💡Automation

Automation refers to the process of using software tools and scripts to automate repetitive tasks or processes that would otherwise be performed manually. In the context of this video, automation is specifically related to the automation of software testing. The speaker discusses the importance of automating tests to provide faster and more reliable information about the state of software builds. For example, the speaker mentions how automation can save time and effort by running tests automatically instead of manually testing each regression cycle.

💡Effectiveness

Effectiveness is a measure of how well a particular action or process achieves its intended goal. In the context of this video, the speaker focuses on evaluating the effectiveness of automated testing processes. The speaker defines effectiveness as "a measure of successfully carrying out a particular action, taking into account the expenditure of resources, time, and other factors." The video discusses various metrics and approaches to assess the effectiveness of automated testing, such as the frequency of test execution, the success rate of test runs, and the execution time of tests.

💡Test Execution

Test execution refers to the process of running and executing automated tests. The speaker emphasizes the importance of executing tests as frequently as possible, ideally after every software build, to obtain up-to-date and reliable information about the state of the software. The speaker introduces a metric called the "build-to-run ratio," which is calculated by dividing the number of builds by the number of test runs. A ratio less than one indicates that tests are being executed more frequently than the number of builds, which is considered desirable.

💡Test Success Rate

Test success rate refers to the percentage of tests that pass or succeed during a test run. The speaker presents this metric as an indicator of the effectiveness of the automated testing process. A high success rate (e.g., 80-100%) suggests that the tests are stable, reliable, and providing accurate information about the software's state. However, a low success rate (e.g., less than 50%) may indicate issues with the tests themselves, such as flaky tests, environmental problems, or a lack of discipline in addressing failing tests.

💡Test Execution Time

Test execution time refers to the duration it takes to run a set of automated tests. The speaker emphasizes the importance of keeping test execution times as short as possible, ideally within 30 minutes for small projects and under two hours for larger projects. Shorter execution times encourage developers and team members to run tests more frequently and maintain a feedback loop. Long execution times, on the other hand, can lead to developers disregarding the tests or losing context while waiting for results.

💡Flaky Tests

Flaky tests are automated tests that exhibit intermittent and inconsistent behavior, sometimes passing and sometimes failing without any code changes. The speaker acknowledges the existence of flaky tests and the need to address them to maintain reliable test results. Flaky tests can negatively impact the test success rate and undermine the effectiveness of the automated testing process. The speaker suggests techniques like parameterized tests and randomizers to mitigate the impact of flaky tests.

💡Test Coverage

Test coverage refers to the extent to which the software's functionality, features, and code paths are covered by automated tests. The speaker mentions that effective automation should cover important topics or areas of the software, similar to how news media should cover important stories. Achieving adequate test coverage is essential for providing reliable information about the software's state and identifying potential issues or defects.

💡Adoption

Adoption refers to the process of encouraging and facilitating the use of automated testing by various stakeholders within a project or organization. The speaker emphasizes the importance of being an "ambassador" for automated testing, sharing success stories, and demonstrating the value of automation to increase its adoption. Widespread adoption of automated testing is crucial for maximizing its effectiveness, as it enables different team members (developers, managers, analysts) to leverage the tests and obtain reliable information.

💡Reliability

Reliability refers to the ability of the automated testing process to consistently provide accurate and trustworthy information about the software's state. The speaker emphasizes that the goal of automation is to provide "reliable information as quickly as possible." If the test results are ignored or considered unreliable, it indicates ineffective automation and the need to address underlying issues, such as flaky tests, environmental instability, or lack of discipline in addressing failing tests.

💡Exploratory Testing

Exploratory testing is a manual testing approach where testers actively explore the software, uncovering defects and edge cases through hands-on experimentation and critical thinking. The speaker mentions that automated testing should not replace exploratory testing but rather provide additional tools and support for manual testers engaged in creative and exploratory activities. Automated testing complements exploratory testing by handling repetitive regression tests, freeing up time and resources for manual testers to focus on more complex and critical areas.

Highlights

The goal of automation testing is to provide reliable information about the build status as quickly as possible.

The effectiveness of automation testing should be measured against its stated goal, not just calculations like return on investment.

Run your automated tests as frequently as possible, ideally for every build.

Aim for a high percentage of successful test runs, at least 60-80% for end-to-end tests and 80-100% for lower-level tests.

Fast test execution time is crucial, ideally under 30 minutes, to encourage developers and others to use the automation.

Make your automation accessible and encourage its use by as many team members as possible through promotion and ambassadorship.

The goal is for people to trust and rely on the automation results, treating failed builds as a serious concern to be investigated.

Automation testing is an ongoing process within the overall testing process, not a one-time solution.

Positive ROI calculations before implementation do not necessarily mean effective automation later on.

Low test success rate and lack of attention to failed builds indicate deeper problems with the automation process.

Complex project infrastructure and active development can make it challenging to maintain stable end-to-end test results.

Flaky tests, environmental issues, and lack of discipline in addressing failed builds can contribute to ineffective automation.

Divide tests into smaller scopes or prioritize them to allow developers to run only relevant tests quickly.

Share success stories and concrete examples of how automation has helped to promote its value and encourage adoption.

Continuously work on improving test resilience, environments, and team discipline to address flaky and failing tests.

Transcripts

play00:00

одні

play00:01

хвилі я історії якісь

play00:08

порозповідаю ну тут буду дивиться Що

play00:11

Що нормально короче що я почав з чого я

play00:16

почав

play00:17

готуватись я підготував презентацію І

play00:21

так як я ніколи не виступав почав

play00:23

дивитись не репетирувати перед людьми а

play00:25

почав дивитись відео як потрібно

play00:27

виступати і люди кажуть що перше що

play00:31

треба зробити - це якісне

play00:34

освітлення приміщення повинно бути

play00:37

максимально світло щоб

play00:39

люди щоб люди не засинали не зивали і

play00:44

дивились на вас а не

play00:46

на свій телефон і я Рома каже Да ми типу

play00:50

В кінотеатрі я таки окей окей

play00:56

окей розповідали що що це напевно

play00:58

індуські курси ні ні це нормальний тип

play01:01

він типу якийсь професор гарварда він

play01:03

там класно ходив там ламав речі

play01:05

всякінольні

play01:07

Вони не індуси а індійці правильно

play01:10

казати індійці

play01:13

а друга тема Короче кажуть

play01:17

ти є три шляхи відкрити презентацію типу

play01:21

перше можна от зробити привіт мене звути

play01:24

Паша я буду розповідати про те як

play01:27

оцінити ефективність автоматизації други

play01:30

шлях це пожартувати А я не пожартую я

play01:34

просто розкажу історію як ми з Ромою

play01:36

познайомились Точніше як я дізнався що у

play01:39

Роми мабуть найдорожчий комп'ютер во

play01:41

всій Україні

play01:43

це про він виклада робоче місце це це

play01:47

нетві це до Доу зробила Це була 1 червня

play01:50

Я сьогодні передивився і тоді ми

play01:52

познайомились з Ромою він він мене не

play01:53

знав але я вже знав що він

play01:56

існує хто ще так дізнався про Рому

play02:00

всі

play02:02

знали потім я зрозумів що Рома класний

play02:06

хлопець дуже класний хлопець робить дуже

play02:08

багато класних речей включаючи цю

play02:10

конференцію це дуже круто зараз дуже

play02:12

важливо робити якісь речі які об'єднують

play02:15

людей навколу чогось в даному випадку це

play02:18

благодійність і ми знайомимось ми

play02:21

ділимось знаннями Це дуже

play02:24

класно Ну і в принципі історію я вам

play02:26

розповів можемо переходити і до теми мо

play02:29

конференції я буду розповідати про те як

play02:32

я оцінюю ефективність автоматизації

play02:35

тестування чому я кажу я тому що тема

play02:37

досить така холіварна немає якогось

play02:40

одного правильного шляху щоб сказати от

play02:44

робиться так я розкажу як це робив я на

play02:47

протязі 2 з поно років Коли я прийшов на

play02:50

проект Де була автоматизація тестування

play02:53

але вона була повністю провалена що я

play02:55

маю на увазі під повністю проваленою

play02:57

а buл ніколи не був зелений тобто завжди

play03:03

було 50% впавших тестів їх запускали

play03:07

тільки для того що не знаю для чого щоб

play03:10

подивитись що воно запускається ніхто не

play03:12

дивився на ці тести під час релізу а

play03:16

менеджер розглядав автоматизацію

play03:19

як як

play03:22

сказати Знаєте як собачки видаєте якісь

play03:25

ласощі для того щоб вона не пішла з

play03:27

роботи умовно ти даєш щось Що може бути

play03:31

цікаве людини але ти не бачиш в цьому

play03:33

велью Ти

play03:34

єдиний для чого ти це робиш щоб люди

play03:37

відчували що вони роблять щось цікаве а

play03:39

не тільки тестують ручками попередній

play03:41

спікер казав про те що немає у них не

play03:44

було там процесів і оце все Я думаю що

play03:47

мабуть 50% присутніх тут працюють в

play03:51

такому енвайроменті Да коли нема ні

play03:53

вимог ні процесів нічого Ну у нас було

play03:56

так само все але була автоматизація яка

play03:59

не працю цювала інтеграційні тести були

play04:02

десь приблизно 1000 штук всі вони були

play04:04

просто скіпнуті unнітести запускались

play04:07

тільки на блді n2n тести не

play04:10

запускались зовсім фактично але вони

play04:13

існували і стояла моя задача тобто Я

play04:16

коли прийшов в компанію я не хотів

play04:19

руками вже тестувати типу Я вважав що я

play04:21

це

play04:22

переріз я про менеджмент я про

play04:25

автоматизацію Я про все оце нове круте і

play04:29

цікаве а мені кажуть на протестуй

play04:31

дефектик і ще один і ще один і ще один і

play04:33

ще ось тобі

play04:35

сотня я такий я не хочу з цим миритись Я

play04:38

хочу змінювати щось я хочу

play04:41

автоматизувати мені це цікаво і в якийсь

play04:44

момент ми ось я почав свого менеджера

play04:47

пушити для того щоб зробити новий проект

play04:51

на той момент вже став досить не досить

play04:53

популярний він тільки вийшов пrй хто

play04:55

користується плейрайтом

play04:58

викті

play05:00

пriй вийшов але без тестранера ми обрали

play05:04

що там cyprс обрати пriй по ітогу взяли

play05:06

плеrй і почали робити автоматизацію але

play05:10

а у менеджмен у менеджмента досі не було

play05:14

знаєте оцього бачення того що

play05:16

автоматизація якось може позитивно

play05:19

вплинути на існуючі справ е хід справ

play05:24

тому

play05:27

ее все що мені ну тобто одною з задач

play05:31

моїх було переконати їх в тому що те що

play05:34

ми робимо важливо те що ми робимо це

play05:37

ефективно і те що ми робимо має якусь

play05:40

користь

play05:44

Ні це історія мені сказали почати з

play05:47

історії і ось в принципі все про це я і

play05:50

буду вам сьогодні розповідати як я

play05:54

доводив користь і ефективність того що

play05:56

ми робимо і в принципі ось Хто взагалі я

play06:00

такий то я вже розповів багато хто я

play06:03

взагалі такий я ось як півроку став

play06:07

ютубером знімаю Відео про автоматизацію

play06:09

тестування на каналі

play06:12

qmpie у мене с на сьогоднішній день вже

play06:16

666 підписників це найкращі люди в світі

play06:21

ви можете стати одним з них перед

play06:23

переходячи по цьому

play06:26

qr-коду це обіцяна рекламна інтеграція А

play06:30

чому QA S а хороше питання тому що я QA

play06:35

і sai - це з японського людина яка іде

play06:38

трохи попереду тобто є як звичайні

play06:43

школота так скаже і у школоти є семпай

play06:46

той який їм розказує як робити щось

play06:49

правильно Ну я люблю Японію і тому sмпай

play06:52

А цікавий момент я ніколи не працював в

play06:55

аутсорсі є тут ще такі люди які

play06:57

працювали лише в продукті

play07:00

у Нормально Нормально сь я девть років

play07:03

працював круто круто в продукті в

play07:05

продуктових компаніях точніше компанія

play07:07

була аусоource але я працював на

play07:08

продукті А зараз займаю роль

play07:12

реліз-менеджера і техліда ну а по тайтлу

play07:17

типу senньor QA Менеджер це до речі всім

play07:20

хто переживає типу Ось у мене тайтл

play07:23

такий тайтл неважливо важлива Роль якою

play07:24

ви

play07:25

займаєтесь Також у мене двоє дітей і

play07:28

одна собака породи баїну знаєте от я

play07:32

пам'ятаю я приходив

play07:34

на презентації Там хтось завжди котикі

play07:37

вставляв А я собаку покажу просто вам

play07:40

свою яка вона мила там і Класно О

play07:43

бачитейшла аудиторі все в принципі все

play07:48

про що я буду говорити про мету

play07:49

автоматизації тестування про

play07:51

ефективність як я і вмірюю і як я

play07:54

рекомендую вимірювати вам Ну і метрики

play07:56

які я використовував під час цього в

play07:59

принципі все Навіщо вам це якщо ви

play08:03

Одинокий автоматизатор як був Я одинокий

play08:06

Самурай у вас повинен бути Шлях

play08:09

і ця презентація Я сподіваюсь дасть вам

play08:12

якісь об'єктивні поінти до яких ви

play08:15

можете

play08:16

рухатись щось

play08:18

показувати вашому менеджменту і якось

play08:21

вдоскнавлювати себе тому що тут будуть

play08:24

не тільки метрики а і способи ну трохи

play08:27

трохи буде способів їх досягнення чому я

play08:29

не фокусувався саме на способі

play08:31

досягнення цих метрик тому що мені Рома

play08:34

сказав що тут буде якось людей пополам я

play08:38

не хотів хотів щоб було цікаво всім якщо

play08:41

ви

play08:43

лід менеджер або мануальний тестувальник

play08:46

це дасть вам

play08:48

більш широкий погляд на те що

play08:51

відбувається в автоматизації ви будете

play08:54

розуміти які цілі ставити вашим

play08:57

підлеглим якщо ви менеджер аболід якщо

play08:59

ви мануальний тестувальник ви будете

play09:01

розуміти чи не херню роблять ваші

play09:04

автоматизатори тому що я наприклад коли

play09:06

був мануальним тестувальником я не

play09:08

розумів взагалі Для мене вони були такі

play09:11

типу розумні якісь дядьки або хлопці і

play09:14

вони щось роблять а я не розумів Як воно

play09:17

взагалі впливає на те Що робимо ми Якщо

play09:21

у вас є така ж ситуація можливо моя

play09:25

доповідь вам

play09:26

допоможе Ну і дисклеймер Я перейшов на

play09:30

українську досить недавно тому в мене

play09:32

Вона десь на рівні

play09:34

B1 якщо будуть якісь слова російські

play09:38

вибачаюсь будемо говорити про

play09:40

автоматизацію в контексті

play09:42

функціонального тестування тобто не про

play09:44

Security тестинг не про перфоманс це

play09:46

окрема тема окремі метрики і окремі люди

play09:50

Ну і моя точка зору може не співпадати з

play09:52

вашою або з людьми яких Ви читаєте або

play09:55

дивитесь тому про все це ми з вами

play09:57

можемо поговорити після доповіді або під

play10:00

час Я закликаю вас Якщо у вас є питання

play10:03

якісь можете походу піднімати руку і ми

play10:06

будемо говорити мені буде так легше тому

play10:07

що я буду бачити якийсь зворотній

play10:10

зв'язок А і ще про

play10:13

приколвеликий я собі там наготував кучу

play10:17

просто анотацій для того щоб не забути

play10:19

про що говорити Ну типу думав буду

play10:22

стояти тут знаєте отак і читати вам не

play10:25

то що на слайді А то що збоку але все це

play10:28

як ви бачите відсутня і я дуже нервую

play10:32

через це Отже говорити Ми будемо про

play10:34

ефективність і про мету але там для того

play10:37

щоб взагалі виміряти якусь ефективність

play10:39

нам роз процесу якогось нам потрібно

play10:41

розуміти навіщо взагалі цей процес був

play10:45

створений тому що багато людей які

play10:48

сперечаються щодо автоматизації

play10:50

тестування

play10:53

зараз так сперечаються щодо

play10:56

автоматизації тестування і і не

play10:59

погоджуються один з одним

play11:02

трапляється тільки через те що люди

play11:04

дивляться на одну і ту саму річ з різних

play11:07

сторін хтось вводить процес

play11:10

автоматизації тестування Тому що йому

play11:12

просто

play11:13

задовбало тестувати руками там він хоче

play11:16

більше ЗП він хоче повчитись десь і

play11:19

перейти в іншу

play11:20

компанію менеджер хоче розширити штаб

play11:23

наприклад ну типу Він каже Так нам

play11:25

потрібна

play11:26

автоматизація під це я отримаю новий

play11:29

бюджет найму нових людей у мене буде не

play11:32

п'ять людей а 10 це теж мо можеть бути

play11:35

якісь політичні ігри і кожен може

play11:37

переслідувати свої цілі я буду говорити

play11:40

тут з точки зору людини яка хоче

play11:44

і себе покращити і принести якусь

play11:48

користь продукту і принести якусь

play11:50

користь

play11:52

собі але для початку давайте домовимось

play11:55

що автоматизація тестування - це процес

play11:58

який знаходиться всередині процесу

play12:00

тестування Що це значить що не буде

play12:03

моменту коли ви все автоматизували

play12:06

і більше нічого тестувати не потрібно

play12:10

це онго процес який відбувається до

play12:14

кінця життого до кінця життєвого циклу

play12:17

вашого продукту тобто в момент який коли

play12:20

ваш продукт пересторяє розроблятись

play12:24

автоматизація тестування і тестування як

play12:26

процеси помирають Вони теж не мають

play12:28

сенсу тому що продукт АА він він може

play12:31

приносити ю він може приносити гроші але

play12:34

як е розробка вже не війдеться нема в

play12:38

цьому ніякого сенсу і давайте зробимо

play12:42

невеличкий інтерактив Як ви думаєте саме

play12:44

ви яка мета взагалі автоматизації

play12:47

тестування Економія часу економія

play12:52

часутиці ви бачите гро думаєте А ви

play12:56

бачили

play12:57

зарплату

play13:00

автоматизація рутини рутини так кноміч

play13:04

такнняго Вибачте виключенняли Так це

play13:09

теж Важливо щоб тестерам було цікаво

play13:12

супер супер тому що Хто з вас знає що

play13:15

таке тестувати регресію кожен хто

play13:17

проходив в цикл регресії десятки разів

play13:19

знає що це ну просто можна то аналізував

play13:23

десятки разів однакові репорти так само

play13:24

знаю Як

play13:26

ваши так так так свого роду зменшення

play13:30

ефорту так так в якийсь момент часу це

play13:33

буде зменшення ефорту так

play13:36

ре е повторювальність так повторювані

play13:39

Тобто ми будемо очіку якісь е одні і ті

play13:42

самі дії виконувати знати точно що в нас

play13:44

буде в результаті і це все так але це не

play13:47

кінцева мета автоматизації я про це

play13:51

трохи більше покажу він реально схожий

play13:53

на тебе Так в цьому була

play13:56

сенс В цьому є сенс

play13:59

Я не знаю чому во вуса

play14:02

дорисував я написав якийсь там промпт і

play14:05

він оце видав А що автоматизація

play14:08

тестування може зробити саме для вас

play14:10

тобто для вас як особистості для вас як

play14:13

інженера Як ви думаєте підняти настрій

play14:16

підняти настрій або зіпсувати

play14:19

правильно це алкоголь Ти про що ти про

play14:22

алкоголь тільки що сказав про піднятий

play14:24

настрій ні про

play14:27

автоматизацію ви не думали про

play14:30

це Вибачте дати більше часу на Що на

play14:36

ютубчик на те щоб дивитись твій канал на

play14:39

мій канал правильно і Щоб вчитись

play14:41

автоматизації добре насправді

play14:43

автоматизація тестування може дати

play14:45

багато багато дати тому що в мене там в

play14:48

якийсь момент був оця криза Я не знаю

play14:50

була у когось криза того що ви всередині

play14:54

творець але створюєте лише

play14:56

дефекти було у когось так їх створює і

play14:59

то да да да ви тільки описуєте їх Да і

play15:02

типу що що в цій жи що в моєму житті не

play15:05

так А коли ви пишете код вам трохи легше

play15:07

ви думаєте О я щось реальноне роблю щось

play15:09

Що да І далі ви теж стоворюєте дефекти

play15:13

але в автоматизації добре Я це до того

play15:16

щоб ви ніколи не виключали коли Ви

play15:19

думали про автоматизацію тестування про

play15:21

якийсь процес про мету не викидайте себе

play15:24

з цього завжди шукайте для себе щось що

play15:27

ви можете знайти Ну

play15:29

себе Якось туди підлаштувати щоб не

play15:33

тільки компанія і продукт виграв від

play15:35

вашої діяльності а також і ви це мій

play15:37

меседж який я теж буду підкреслювати на

play15:39

протязі

play15:40

всієї доповіді як на

play15:44

мене мету треба формувати дуже коротко

play15:47

для того щоб вона була зрозуміла для

play15:48

всіх і я думав про це і сформував її так

play15:52

мета автоматизації надавати якомога

play15:55

швидше надійну інформацію стосовно стану

play15:58

бл да тобто надавати надійну інформацію

play16:03

якомога швидше все все що ви казали тут

play16:07

раніше це скоріше знаєте як сайде-ефекти

play16:11

всього того що ми отримуємо швидку

play16:13

надійну

play16:15

інформацію тому я пропоную вам

play16:17

фокусуватись Коли ви ставите соі мету

play16:20

якусь коротку але все об'ємного тому я

play16:24

зійшовся на цьому визначенні для себе це

play16:26

не з інтернету це я от там щось і думав

play16:29

думав Як це можна оформити і прийшов до

play16:33

цього Тому все далі от мені оце

play16:37

подобається слайдик чому на блін оцей

play16:41

слайдик знаєте в пам'ятаєте цей фільм

play16:43

або книжку Коли в чому сенс життя і там

play16:46

був комп'ютер який 100 млнів

play16:49

років вичисляв і потім сказав 42 так от

play16:53

і я сидів сидів і якось ось мету для

play16:55

себе і с сформулював і навколо цієї мети

play16:59

я вже вибудовував свої якісь метрики для

play17:03

того

play17:03

щоб як дізнатись чи моя автоматизація

play17:08

ефективна і тільки знаючи мету ми можемо

play17:11

дійсно оцінити наскільки ефективно ми до

play17:14

неї рухаємось без цього як ефективність

play17:19

майже неможлива тобто коли у вас немає

play17:21

чіткої цілі ви ніколи до неї не прийдете

play17:25

тому коли починаєте щось робити

play17:27

обов'язково Намалюйте собі в голові або

play17:29

на на паперчику десь те до чого ви

play17:33

дійсно прагнете я вже сказав я буду

play17:37

надалі оцінювати процес автоматизації

play17:39

Спираючись на цю мету е у вас може бути

play17:42

інша мета ви можете думати зовсім іншими

play17:45

категоріями це нормально наприклад як я

play17:47

уже казав ви подумаєте просто ну я хочу

play17:49

ЗП більше типу Я запілю маленький

play17:52

проектик який буде робити 10 кейсів і на

play17:54

performомаanceсревw там скажу от я

play17:57

автоматизацію за ее зробив у нас на

play18:00

проекті ганіть п

play18:03

500 це теж це теж нормально Ну типу якщо

play18:06

ви отримаєте

play18:08

це це це теж я я це підтримую я це

play18:10

підтримую якщо це працює Головне щоб ви

play18:13

були

play18:14

щасливі це про те що ніколи не

play18:16

викреслюйте себе з рівняння

play18:18

ее мети тобто у вас теж навколо у вас

play18:22

буде все крутитись компанія закриється

play18:25

проект помре а ваші знання і навички

play18:29

завжди будуть з

play18:31

вами і тут хтось з вас хто може матьорий

play18:35

автоматизатор а можливо менеджер який

play18:38

мислить категоріями грошей можна сказати

play18:41

Паш що ти нам тут дч втираєш вже існує

play18:45

така метрика як y return of Investments

play18:48

і якщо рої позитивно то і автоматизація

play18:53

має сенс вона валідна ефективна І

play18:55

взагалі все добре і проблема в рої що це

play19:00

насправді метрика

play19:02

яка рахується перед початком

play19:05

запровадження автоматизації тестування

play19:08

для того щоб порахувати в який

play19:11

момент ми повернемо наші

play19:14

інвестиції і тим самим ми будемо вважати

play19:18

що Окей У нас все працює Тобто ви не

play19:21

можете рахувати роy якщо у вас вже

play19:24

автоматизація запущена Ну звичайно ви

play19:26

можете це зробити але

play19:28

сенсу в цьому не так

play19:31

багато проблема щерою в тому що зазвичай

play19:34

воно рахується для проектів які

play19:37

приносять якісь кошти умовно ви вирішили

play19:43

відкрити точку з кавою вклали в неї 2000

play19:47

доларів порахували що місяць фукці

play19:51

функціонування цієї точки буде коштувати

play19:53

там 500 до$в Я не знаю скільки це коштує

play19:55

насправді і кожен день ви будете

play19:57

заробляти там 300 долав умовно і ви

play20:01

можете легко порахувати в який момент ви

play20:04

повернете свої 2000 і вийдете на якусь

play20:07

окупані окупаємість і будете заробляти

play20:09

гроші по автоматизації це так не працює

play20:12

Тому що Во вона не заробляє гроші вона

play20:16

може економити Якщо ви все зробили

play20:18

правильно і то якщо ви все зробили

play20:21

правильно тому роy як метрика Вона часто

play20:25

дуже в автоматизації рахується на

play20:27

багатьох припу

play20:29

при тому що ми щось зекономимо десь

play20:31

знайдемо дефект автоматизуємо якусь там

play20:34

тися кейсів І взагалі перестанемо

play20:36

використовувати мануальне тестування це

play20:39

велики ну дуже часто це маніпулятивна

play20:43

дуже метрика для того щоб

play20:45

переконути замовника в тому щоб нам

play20:47

потрібен бюджет на те щоб найняти

play20:50

автоматизаторів І це нормально це бізнес

play20:52

Ну типу всі від цього виграють Можливо

play20:55

навіть замовник якийсь момент виграє а

play20:58

компанії вигідно продавати нові послуги

play21:00

Ну тобто умовно У вас є команда 10 людей

play21:03

п'ять з них тестувальники а такі А

play21:05

давайте

play21:06

зробимо автоматизацію тестування але

play21:08

коштувати вам це буде там плюс 10 000 на

play21:12

місяць доларів тому що ми там два

play21:15

сіньйоракихось або одного Рома

play21:21

наймемо І як І от повернеться вам якась

play21:25

інвестиція ось колись але ви ж платіть

play21:27

ці ну тобто це вигідно всім але

play21:30

пам'ятайте що це все-таки прогнози які

play21:33

можуть насправді

play21:35

не

play21:37

не не справдитись і позитивне Рой - це

play21:42

ніколи не значить що у вас ефективна

play21:44

автоматизація це лише значить що ви

play21:46

провели якісь обчислення які Можливо в

play21:49

якийсь момент будуть правдивими А

play21:52

можливо і

play21:53

ні тому що реальна автоматизація може

play21:56

поховати всі спрогнозовані розрахунки

play21:58

люди які займаються і знають яка

play22:01

кількість

play22:03

проблем трапляється по ходу розробки

play22:06

тому що небагато людей розуміють що

play22:08

повноцінна автоматизація - це

play22:10

паралельний проект всередині вашого

play22:14

основного проекту

play22:18

тобто ставитись до нього треба ніяк для

play22:21

якогось паралельної активності а до

play22:23

повноцінного проекту який вам дозволяє

play22:26

отримувати інформацію якомога швидше

play22:29

надійну інформацію якомога швидше якщо

play22:32

ви не будете ставитись до цього проекту

play22:34

правильно то всі розрахунки які ви там

play22:37

провели вони у вас

play22:40

будуть ви можете їх просто викинути але

play22:43

це не значить що А давайте так а що Ми

play22:47

зрозуміли на цей момент у мене є пес

play22:50

автоматизація має свою мету рої не

play22:53

використовується для оцінки ефективності

play22:55

автоматизації і позитивні розрахунки

play22:58

не на початку не дорівнюють ефективній

play23:01

автоматизації

play23:03

резюмували резюмували можемо рухатись ра

play23:06

далі так я трохи

play23:10

Так а далі будемо говорити про

play23:12

ефективність уже про саму суть мого

play23:15

виступу про те як цю ефективність

play23:18

вимірювати і для того щоб ми були

play23:20

залайнені з як з термінологію я визначаю

play23:24

ефективність як мірою виконання певної

play23:26

дії успішно

play23:28

виконання певної дії тобто наскільки ми

play23:31

успішно щось робимо Тобто це якась міра

play23:35

оцінки того що відбувається в даний

play23:37

момент з урахуванням витрат ресурсів

play23:39

часу та інших факторів це тоже теж дуже

play23:42

важливо але але але але я тут багато

play23:48

буду казати ну такі речі які будуть

play23:50

зрозуміли лише автоматизаторам як суть

play23:54

болі але є ситуації коли вам треба

play23:57

порахувати цю ефективність не для себе

play23:59

не для членів команди не для людей які

play24:02

шарять як скажемо а для людей які

play24:05

оперують тільки поняттями час і гроші це

play24:10

зачасту типу менеджери яких ми вже

play24:13

назвали

play24:15

демілами тобто люди які не шарять я їх

play24:17

називаю але які дивляться там на

play24:19

графічки якісь на циферки і їм ось це

play24:23

цікаво а не те що ви там почали

play24:26

релізитись бельш без

play24:29

Тому це теж треба рахувати і є

play24:32

спеціальні формули які допомагають вам

play24:35

порахувати ефективність автоматизації з

play24:37

моменту її застосування тость

play24:40

введення рахується воно наступним

play24:42

чином пам'ятаємо що автоматизація - Це

play24:45

не про заробіток це про економію тому

play24:47

будемо рахувати економію формула проста

play24:51

Ми сумуємо суму коштів яку ми могли б

play24:54

витратити на оплату спеціалістів які б

play24:57

вручну тестували Тести які вже

play24:59

автоматизовані Тобто ми почали щось

play25:01

автоматизовувати 10 тестів

play25:04

А ми знаємо що на проходження цих тестів

play25:07

нам треба заплатити мануальним

play25:08

тестувальникам суму

play25:11

і ось це ми сюди і поідставляємо я далі

play25:13

трохи подробно про це розкажу далі ми

play25:16

вводимо якусь суму яка ми як ми думаємо

play25:21

ее буде ви Ну ми ми потратимо на те щоб

play25:25

якщо ми побачимо якийсь баг на проді або

play25:27

щось Що зламалось Ми рахуємо сюди

play25:30

зарплату програмістів а сапорта і інших

play25:34

людей які займаються обробку інцидентів

play25:36

для того щоб сказати Окей тобто

play25:39

е-е якби у нас була автоматизація то

play25:42

цього б не сталося це вже економія але

play25:44

це теж зновутаки припущення але як ми

play25:46

кажемо ці цифри не повинні бути

play25:49

абсолютно точними ці цифри існують для

play25:51

того щоб їх показувати десь на графіках

play25:54

І щоб люди думали О які ми класні тобто

play25:58

в першому там де ми плюс Ми сумуємо

play26:01

якусь економію потенційно від

play26:03

автоматизації і в рядку мінус Ми рахуємо

play26:06

всі витрати абсолютно які б

play26:09

ми які б

play26:11

ми потрібні

play26:14

для для початку автоматизації тестування

play26:17

Це зарплата автоматизаторам ліцензії

play26:21

enвайменти equipment будеш з понеділка

play26:25

оцінювати дякую тобто да до речі там

play26:30

спойлер далі не треба так

play26:33

робити тобто все все що вам необхідно

play26:37

зроби Всі гроші які необхідно

play26:39

використати для того щоб автоматизація

play26:41

почала працювати все це рахується вце

play26:46

aвomation як порахувати ваші

play26:51

збереження по тестуванню час який раніше

play26:54

спеціалісти могли б витратити на

play26:55

виконання тестів які теперто атизовані і

play26:59

середні витрати на оплату праці фахівця

play27:01

ручного тестування за хвилину умовно У

play27:04

вас є 150

play27:07

тестів фахівець з тестування проходить

play27:10

кожен тест за 15 хвилин ми помножаємо

play27:13

150 на 15 і заробляє він за хвилину

play27:16

умовно там якщо це Рома о

play27:21

долар множимо і у нас виходить якась

play27:25

Сума яку ми економимо тому що це тест

play27:27

був автоматизований типу людина

play27:29

мануальчик і більше не треба його

play27:31

виконувати

play27:33

е і увас гарно І у вас повинен бути в

play27:38

ідеалі ось такий от

play27:39

графік що він

play27:44

означає я про це теж пожартую зараз як

play27:47

це відбувається ви на початку витрачаєте

play27:49

багато грошей для того щоб закупити

play27:52

ліцензії налаштувати

play27:53

інвайромент найняти автоматизатора тому

play27:56

що найм це теж дорогостояча тому

play28:00

економії у нас ніхера нема Ми все

play28:02

витрачаємо потім цей автоматизатор

play28:04

починає працювати у вас накоплюється

play28:06

якась кількість автоматизованих тестів і

play28:09

в якийсь момент ось це

play28:12

Manual стає більше так як тестів стає

play28:15

більше По ідеї економії стає більше це

play28:18

автототаal у вас залишається сталим так

play28:21

як у вас уже працює автоматизатор вили

play28:23

навіть зменшується може зменшуватись

play28:26

тому що кожен місяць е вам не треба

play28:28

Наприклад платити за там ліцензії ви

play28:31

один раз купили або якийсь там enваймен

play28:34

Ну тобто в якийсь момент у вас цей

play28:37

графік вийде в плюс але коли цей момент

play28:40

Настане ніхто не знає

play28:41

тому Рахувати треба кожен місяць рахуєте

play28:45

ви кожен місяць додаєте і в якийсь

play28:47

момент цей графік буде йти в плюс В

play28:50

бонусом до цього

play28:55

А тобто в ідалі це повинно працювати так

play28:58

як это буде працювати у вас я не знаю А

play29:01

в який момент

play29:03

льчики починаємо звільняти О ось я ж про

play29:06

це і кажу вони переходять в

play29:09

автоматизацію не треба

play29:12

нікого

play29:14

так і ось про те що я казав проводьте

play29:18

такі подібні розрахунки тільки за

play29:20

крайньою потреби тобто по факту вони не

play29:23

відображають реальної картини тому що ми

play29:26

показ що ми заміняємо правильний дуже

play29:29

коментар ми показуємо те що ми заміняємо

play29:31

мануальне тестування на автоматизоване

play29:34

але автоматизація тестування Це не про

play29:36

заміну це на надання додаткових

play29:39

інструментів людям які займаються

play29:42

exploratory теestнгом який займається

play29:44

творчою діяльністю а тестування може

play29:47

бути творчою діяльністю тобто

play29:49

автоматизація - Це не про заміну це про

play29:51

надання нових можливостей тому рахувати

play29:55

це потрібно тільки якщо у вас є крайня

play29:58

необхідність для когось там показати

play30:01

результати е ви можете використовувати

play30:04

подібні прийоми Додайте до цього ще

play30:08

графік зростання покриття автотестами

play30:10

люди такі люблять графіки більше

play30:12

графіків кількість дефектів які були

play30:15

виявлені автотестами ще один графік і

play30:18

кількість тестів які були виконані

play30:20

вручну за реліз і скільки в

play30:22

автоматизований спосіб і вони там десь у

play30:25

вас в якийсь момент будуть перетинатись

play30:27

і виглядати так буде що автоматизація

play30:29

взагалі перекриває ручне тестування всі

play30:32

будуть в

play30:33

захоті мануальщики не потрібні

play30:37

так так так

play30:39

так там якись момент явно буде коли

play30:42

кільшсть автоматичних тестів також буде

play30:44

велика буде в іншу

play30:51

ро доби я не дуже зрозумів Давайте потім

play30:54

я просто не дуже

play30:56

зрозумів ну тобто такий підхід Я

play30:59

рекомендую використовувати який коли є

play31:01

така необхідність коли є замовник якому

play31:04

треба показати щось красивеньке якусь

play31:06

презентацію зробити показати що гроші

play31:09

були витрачені не просто так можна

play31:12

звийно якому домані я

play31:15

а-а я не знаю як правильно

play31:19

назвати ну В нас сервіс який допомагає

play31:23

маркети маркетинг маркетинг мабуть да

play31:25

маркетинг спеціалістам організовувати

play31:26

свої

play31:28

компанії ну я чому це питання задаю тому

play31:31

що наприклад все можна покрити

play31:33

автотестами наприклад у нас мбеди і є

play31:36

речі які ти просто автоматизацією не

play31:38

покриє є вебтестування Де ти можеш прям

play31:42

все все все все покрити тому єсть такі

play31:45

поняття як покриття і все вони Ну не

play31:49

завжди будуть не завжди може бути рої

play31:51

відбутись 100% 100% абсолютно точно я ж

play31:55

кажу що це таки тонкі матерії і ви

play31:58

повинні відчувати коли це треба робити

play32:00

коли це робити взагалі не треба А я

play32:03

нагадаю про мету автоматизації надати

play32:05

якомога швидше надійну інформацію

play32:08

стосовно стану білда і я зроблю коротку

play32:10

теж історію вам щось оце

play32:14

нагадує партія

play32:16

о Короче я роблю виділяю цей синьою

play32:20

стрічкою ну типу я люблю синій колір

play32:22

мені він подобається і щось я дивлюсь Це

play32:25

типу цей свободна я или щось таке я

play32:29

такий так щось короче

play32:32

неправильно да щось короче неправильно

play32:35

Не хочу я тут ніяких прапорів свободної

play32:37

Росії додам ще одну стрічку зверху щоб

play32:40

во не виглядало так Фінляндія Да і

play32:43

просто от я потім через те що Мені

play32:46

здалось що це весело вирішив не міняти

play32:48

колір тому що думаю вже якась типу

play32:50

смішна

play32:52

історія і далі переходимо до

play32:54

ефективності перше на що я хочу звернути

play32:56

у увагу це частота запуску

play32:59

автоматизованих тестів Ви повинні

play33:02

запускати ваші тести як умога більше я

play33:06

вже казав виходячи з нашої мети ми

play33:07

хочемо отримувати результати стосовно

play33:10

кожного білда Ми хочемо бачити цю

play33:12

інформацію і робити якісь висновки якщо

play33:15

ми не хочемо це Інше питання скоріш за

play33:17

все Я розкажу чому ми не хочемо цього

play33:20

трохи пізніше тому ваші тести повинні

play33:22

запускатись як умога більше це як

play33:26

порівняти з з дорогим автомобілем ви

play33:28

його придбали і не їздите він у вас стоє

play33:32

в гаражі а їздите ви на

play33:35

якісь іншій старій машині або навіть на

play33:37

таксі але з автомобілем є нюанс в тому

play33:41

що якщо він хороший дорогий він може

play33:43

стати ще дорожчим з автоматизацією так

play33:46

не буде автоматизація не стає

play33:48

дорожче Ну

play33:51

типу тому якщо ви щось почали робити

play33:54

старайтесь використовувати це якомога

play33:57

швидше більше я бачив проекти де я питав

play34:00

а коли ви запускаєте автоматизацію Ну за

play34:02

годину до релізу були такі в мене

play34:05

відповіді типу А що ви якось реагували

play34:07

на це ну якось реагували тому запускайте

play34:12

якомога частіше добре якби як ну типу

play34:16

формулу яку ви можете застосовувати щоб

play34:18

вимірияти Чи у вас все добре це

play34:20

кількість білдів поділіть просто на

play34:22

кількість запусків тестів якщо

play34:24

коефіцієнт буде менший один значить що

play34:27

ви запускаєте автоматизацію частіше ніж

play34:30

на кожен блд Навіщо це робити Ну

play34:33

наприклад це значить що користувачем

play34:35

автоматизації є не тільки ви а інші люди

play34:39

можуть її використовувати на різних

play34:41

енвайроментах на різних браузерах ну

play34:44

тобто це може бути різні типи

play34:46

автоматизації це значить що ваш

play34:48

автоматизаціє регулярно користується

play34:51

якщо

play34:51

ви у вас коефіцієнт один або трохи

play34:55

більше або але менше одиниці це вже

play34:59

непогано Це значить що Ви запускаєте

play35:01

хоча б на кожен блд або трохи менше і

play35:05

якщо коефіцієнт більше двух це значить

play35:07

що ви запускаєте менше ніж на Кожен

play35:09

другий

play35:11

блд багато з вас хто Мабуть

play35:13

займаєтьсятома це ж неможливо у нас

play35:15

автоматизація 10 годин де і про це ми

play35:17

теж поговоримо чому так не повинно бути

play35:20

тобто

play35:22

запускайте так я про це вже проговорив

play35:25

запускайте тести як у мога

play35:28

частіше Так ви будете знати актуальну

play35:31

інформацію

play35:33

стосовно нового

play35:35

білда якщо ви не хочете цього робити для

play35:39

цього скоріш за все є проблеми у вас є

play35:41

інші проблеми про які ми теж поговоримо

play35:44

далі Ну типу хтось З вас може скаже Та

play35:46

мені воно не треба на сам Ну треба

play35:49

треба Якщо не треба це значить що ви

play35:52

десь робите щось

play35:53

неправильно далі Ось чому одна одна з

play35:57

метрик яка через яку ви можете сказати

play35:59

воно мені не треба це відсоток

play36:01

успіху тестових прогонів якщо ваша

play36:04

автоматизація виглядає як на правому

play36:07

скріні це до речі моя з одного з

play36:13

проектів так це все теж мої але це це

play36:17

моя моя прям А якщо ваша автоматизація

play36:21

виглядає так то у вас є проблеми у вас є

play36:24

проблеми в тому що вона

play36:27

не показувала вам об'єктивних

play36:30

результатів того що відбувається у вас з

play36:33

білдом або показувала

play36:35

Але у вас є багато інших проблем які теж

play36:39

треба вирішувати це грак неправиль чому

play36:42

Ну типу треба щоб він був Ну типу в в

play36:46

спектрі від зеленого до червоного Ну

play36:49

типу треба зробити Рома ти що пива

play36:53

випивробити такий графік щоб він кож цію

play36:57

відмальовував кольоро спектрі від

play36:59

зеленого до червоного ідея для

play37:01

стартапа зроби такі графіки єсть такі

play37:04

градієнтом я щось не

play37:08

дадизайне ну короче Серга задача на

play37:12

понеділокмене на понеділок Короче я

play37:18

уль тобто якщо у вас

play37:20

кількість відсоток провалених білдів

play37:24

дуже великий У вас є проблема Але хтось

play37:27

що

play37:28

ящо і це про це ми поговоримо зараз я

play37:32

просто

play37:33

показую зараз в мене є там да Якщо у вас

play37:38

менше

play37:39

50% успішних білдів то у вас дійсно є

play37:42

проблема скоріш за все автоматизацією

play37:44

мало хто займається ви не відслідковуєте

play37:47

результатів ви не реагуєте на те що вам

play37:49

вона показує і інформація яку вам надає

play37:52

вона вам скоріш за все не цікава

play37:54

А показую низьку дисципліну всередині

play37:57

команди і всередині проекту Тобто це теж

play38:00

сигнал якщо команда не звертає увагу на

play38:03

те що у вас є червоні білди і це

play38:06

регулярно ніхто на це ніяк не реагує

play38:08

включає у вас у вас

play38:10

проблеми проблеми про ці проблеми Ми

play38:13

також трохи поговоримо пізніше Якщо 6080

play38:16

це вже непогано дивіться тут є

play38:18

нюанс цей графік для toend тестів якщо у

play38:22

вас подібний графік для Unit integration

play38:24

або API то це взагалі Ну

play38:28

типу Я не знаю що ви робите Та там може

play38:31

бути навіть зелене але воно нічого не

play38:33

покаже це теж ми про це теж пока

play38:35

поговоримо про покриття

play38:42

проваленийважаєдьяму Чому він впав це

play38:44

теж нюанс Чому він а чому він не

play38:47

заігнорений якщо це зламаний тест а чому

play38:51

він флекі а чому він чому у вас

play38:54

нвайромент поганий а чому се паy не

play38:57

спрацювала в той момент може бути багато

play39:00

нюансів тому в мене система типу Ну

play39:03

суперінтегровано в нас в ртпаті типу Я

play39:06

не знаю десятки Якщо десь якась команда

play39:09

щось не задеплоїть неправильно це

play39:11

значить що в мене типу відвалиться

play39:12

половину тестів і це теж треба

play39:15

пропрацьовувати все це показує на

play39:17

проблеми так багато проблем Ми не можемо

play39:19

вирішити це факт але не звертати на них

play39:23

уваги - це не наш шлях якщо ми говоримо

play39:25

про ефективність тому 6080 для мене

play39:29

особисто я вважаю нормально для нтуn

play39:31

тестів якщо ви тримаєте цей результат це

play39:35

значить у вас більш-менш порядна

play39:37

автоматизація на неї

play39:39

дивляться вона стабільно відпрацьовує Ви

play39:42

працюєте з флекі тестами у вас

play39:44

стабільний енвайромент і більш-менш

play39:46

стабільний Давайте так і все добре для

play39:50

мене це Окей як для вас мені було б теж

play39:52

цікаво послухати і 8100 - це для мене

play39:57

недосяжний недосяжна мета але недосяжна

play40:01

в -туend тестах в API тестах Unity

play40:03

integration якщо у вас менше

play40:06

80% успішних білдів це значить у вас

play40:09

проблема проблем проблема є їх треба

play40:12

вирішувати тобто У вас є неефективність

play40:16

А чому так відбувається чому от взагалі

play40:20

от ми працюємо ми робимо все по книжці

play40:23

все правильно але все одно білди не

play40:26

зелені як у мене

play40:28

наприклад дуже складна система яка має

play40:31

Ну я ж кажу десятки сепаі десятки

play40:33

сервісів які деплояться одночасно якщо

play40:36

там один сервіс може не задеплоїться або

play40:39

задеплоїться з помилкою мене там

play40:40

половина тестів

play40:42

відвалиться тобто складна інфраструктура

play40:45

проекту і там якщо у вас це тун тести це

play40:48

дуже буде складно

play40:50

підтримувати стабільність інфраструктури

play40:52

активність розробки до прикладу в якийсь

play40:55

момент

play40:57

Наша компанія вирішила

play40:59

що Який у нас там був Angular Angular

play41:02

неніні Angular якийсь інший йworк короче

play41:05

для ui Framework він не досить добрий

play41:09

давайте все перепишемо на react А у мене

play41:12

типу 150 ту тестів і ви розумієте що

play41:15

відбувається в цей момент всі ці 150

play41:17

тестів один за одним починає падати з

play41:20

кожною новою сторінкою ну тобто вони

play41:22

щось змінюють сторінка змінюється і вам

play41:24

потрібно все переписувати І в цей період

play41:27

часу коли ідуть ці зміни активна

play41:29

розробка яка е-е впливає на ui це дуже

play41:33

складний період для n2n тестування і

play41:36

звичайно в цей момент мати там зелений

play41:40

блд ну це неможливо тому що у вас кожен

play41:43

новий коміт в Master е ламає там 10

play41:47

тестів там бо переписується повністю

play41:50

рейworк там змінюються всі

play41:53

локатори далі чому може бути червоне це

play41:56

якість цих тестів ну тобто resilenc

play41:59

наскільки ваші тести стійкі до змін як

play42:03

це робити правильно це окрема тема до

play42:06

презентації до доповіді бо це дійсно

play42:09

знаєте така широка тема і працювати над

play42:13

цим теж треба і ваша дисципліна якщо ви

play42:15

в якийсь момент перестаєте реагувати на

play42:17

червоні білди то вони і залишаться

play42:21

червоними працювати з червоними

play42:23

білдадами нужно потрібно постійно Ви

play42:25

повинні залучи якщо у вас не витрачає

play42:27

часу залучайте розробників мануальних

play42:31

qaїв всіх кого завгодно ваша задача

play42:34

зробити блд зеленим це не буде завжди

play42:36

Можливо але ми прагнемо до е як

play42:41

комунізмі

play42:42

до ідеалу який ніколи не трапиться і

play42:47

звичайно ці червоні білди дуже сильно

play42:49

впливають на інші метрики які ми

play42:51

поговоримо далі наступна метрика - це

play42:54

час виконання тестів і це над

play42:59

над Важливо щоб ваші тести виконувались

play43:03

швидко що таке швидка ось до прикладу є

play43:07

теж з трьох моїх проектів є тести які в

play43:10

мене виконуються 26 секунди Це близько

play43:13

30 API тестів є тести які в мене

play43:16

виконуються 82 хвилини це 300 n2n тестів

play43:20

повноцінних великих -ту-end тестів і є

play43:25

проектик

play43:26

невеличкі end-то-end тестами які там 6

play43:30

хвилин чому я показав ось ці три скріна

play43:34

тому що Ну ви бачите різницю тобто

play43:37

різниця драматична і коли

play43:39

ви розробник або ви

play43:43

QA Ви дуже лінива людина як правило Ви

play43:47

не хочете на ви не хочете чекати ви

play43:49

хочете результат тут і зараз особливо у

play43:51

девелоперів Якщо ви хочете залучати

play43:54

велику кількість людей до до

play43:57

використання автоматизації тестування

play43:59

виконання цього прогону повинна бути

play44:01

максимально маленька виконуйти тести в

play44:05

10 потоків переходьте на API тести Я не

play44:09

знаю робіть все можливе для того щоб

play44:12

ваші тести виконувались менше хоча б

play44:14

двох годин для великого повноцінного

play44:16

проекту дві години - це вже

play44:19

багато у мене наприклад вони півтори

play44:22

години виконуються але є нюанс у мене

play44:24

лише деплой проекту там займає щось до

play44:27

ьох годин ну тобто Ви повинні ро Окей 3

play44:29

години ми почекаємо ну почекаємо ще

play44:32

півтори години на прогон тестів але якщо

play44:34

у вас дуже швидко виходить деплоїти у

play44:38

вас швидко виходить збирати нові білди

play44:41

Ви повинні

play44:42

прагнути до менше 30 хвилин це той час

play44:46

коли девелопер зможе щось закомітити у

play44:49

себе або локально запустити всі тести

play44:51

подивитись чи він щось зламав якщо тести

play44:53

будуть виконуватись більше 30 хвилин

play44:55

Ніхто їх не буде буде використовувати

play44:56

крім вас це дуже багато люди девелопери

play45:00

вони ту Ну

play45:02

вони втрачають контекст дуже швидко

play45:06

ні-ніні вони втрачають контекст і

play45:09

переключаються дуже швидко він завершив

play45:10

задачу він на натиснув коміт і ви йому

play45:14

там 100 раз скажете протестуй свої зміни

play45:16

потестуй що ти там зробив він не буде

play45:19

Цього робити ось попередня спікерка

play45:22

казала там от про спілкування всередині

play45:24

команди

play45:26

Я впевнений що ви всі знаєте Ну блін Ну

play45:28

чого ти цей Бах не знайшов Він же

play45:30

очевидний Да йому в падло ну впадло йому

play45:33

якщо це довго тестувати він цього робити

play45:35

не буде У нього ще 10 ТАС в джирі він

play45:37

відкриє і буде робити наступну

play45:40

автоматизація може вирішити це ви можете

play45:42

сказати му Слухай Коля Просто натисни

play45:45

воно все зробить за тебе і тоді можливо

play45:47

він це зробить лише в цьому випадку якщо

play45:50

це буде півтори години він не буде Цього

play45:51

робити він почне створить нову бранчу

play45:54

він почне нову розробку і забуде взагалі

play45:56

про те що автоматизація існує Якщо ви

play45:59

хочете залучати девелоперів для до

play46:01

використання вашої автоматизації вона

play46:02

повинна бути у вас

play46:04

супершвидка це аксіома це перевірено

play46:08

спробуйте у вас Якщо ви дасте девелоперу

play46:10

і скажете тут Нажми і Почекай 3

play46:15

години він скаже ти що Да ти що ні якщо

play46:20

він іноземець він типу скаже він типу

play46:22

скаже окей окей but

play46:27

I will do it I will do it ти на

play46:29

наступний день до нього приходиш Ну що

play46:30

ти виконав я такий Sorry Sorry myer

play46:33

contct with and ask to do some Stu I

play46:36

forg Sorry Man добре якщо автоматизація

play46:40

на великому проекті і деякі тести є

play46:43

довгими деякі короткими якщо розбивати

play46:45

їх на певні більш короткі сковпи за

play46:48

пріоритетами і робити можливість вибору

play46:51

як наприклад тестрейлі робити можливість

play46:54

того що буде проганяти так тестах і тим

play46:57

самим скоротити оцей час і отримати

play47:00

результат Саме так я і зробив е це Дякую

play47:04

Дуже я я б забув про це говори сказати

play47:07

оці всі результати що ви бачите це все

play47:12

як один проект але через те що я дав

play47:15

змогу запускати тести е в нас великий

play47:18

проект Але багато команд я їх розбив по

play47:21

командам я в мене є як рани який

play47:23

запускає всі тести є рани для окремих

play47:26

команд Якщо девелопер хоче перевірити

play47:29

свій скоп У нього є спеціальна е

play47:33

так добре вже вже о добре короче Да мені

play47:38

тут каж Що завершувати діліть будь ласка

play47:40

по командам для того щоб у девелопера

play47:42

була можливість запустити лише ті тести

play47:45

які йому необхідні Дякую

play47:49

дуже ви зрозуміли

play47:52

а щодо тестів і велоко кіль тягнув до

play47:55

Ющенка

play47:58

а блін тут велика тема блін Ромчик мене

play48:02

підганяє Ладно давайте Я до важливого я

play48:05

пропущу це якщо захочете поговоримо про

play48:07

це пізніше я просто скажу про те що а

play48:10

ваша мета зробити так щоб вашою

play48:12

автоматизацією користувалася Якомога

play48:14

більше людей Чим більше людей буде

play48:16

користуватися тим вона ефективніша тим

play48:18

більше людей буде знати І

play48:20

використовувати її отримувати необхідну

play48:22

інформацію і якось на неї реагувати

play48:25

девело зможе

play48:27

ее дізнатись чи його

play48:30

е зміни вплинули на проект негативно ви

play48:34

зможете швидко дізнатись чи є у вас

play48:37

дефекти менеджер може побачити красивий

play48:39

репорт в той момент який він захоче

play48:41

аналітик може перевірити якусь

play48:43

продуктову тезу ваша задача залучати

play48:46

всіх кого можливо для цього мітинги е

play48:50

показуйте результати будьте амбасадором

play48:52

автоматизації вам треба розповідати про

play48:54

те якісь історії про те як автоматизація

play48:57

врятувала реліз як вона знайшла дефект

play49:00

який ніколи ніхто не мог знайти будьте

play49:02

амбасадором і омбутсменом ваш

play49:04

автоматизацію це дуже важливо без цього

play49:08

Навіть оці цифри які вам казав про

play49:10

ефективність ніхто не буде сприймати

play49:12

розказуйте історії показуйте реальні

play49:14

результати і тоді ефективність буде

play49:17

максимально зростати тому що багато

play49:18

людей буде її

play49:20

використовувати і на все це і впливають

play49:23

ті метрики про які я казав рані якщо у

play49:26

вас відсоток досить низький то люди

play49:29

будуть боятись на це дивитись вони

play49:30

боятись буду натискати кнопочку бо буде

play49:33

ва бачити негативний результат ніхто не

play49:35

хоче бачити негативний результат хочуть

play49:37

натиснути і побачити що все добре тому

play49:40

тести повинні бути стабільні час

play49:41

виконання повинен бути мінімальний і

play49:44

звичайно Пропаганда внутрішня на всіх

play49:47

членів команди будьте амбасадором вашої

play49:50

автоматизації і ваша кінцева мета

play49:53

зробити так щоб люди їй довіряли умовно

play49:56

якщо у вас провалився блд всі повинні

play49:58

піти і подивитись Чому він провалився

play50:01

які тести впали і чому так трапилось

play50:04

якщо у вас ігнорується Ваша інформація

play50:06

не вважається надійною Це погана

play50:08

автоматизація це значить що ви робите

play50:12

щось невірно щось відбувається

play50:13

неправильно тому я порівнюю

play50:15

автоматизацію з зі ЗМІ який може

play50:18

надавати інформацію

play50:21

регулярно вчасно Вона надійна покриває

play50:24

важливі теми обов'язково те що Рома

play50:27

сказав про те що може бути

play50:28

автоматизовано там 80% в мене проє про

play50:31

це є слайди але вони завжди зелені бо

play50:34

ніфіга не перевіряють таке тоже може

play50:37

бути тому покривать повинно важливі теми

play50:40

це ЗМІ повинні читати і довіряти без

play50:43

цього ви не можете вважати те що ви

play50:45

робите ефективним Дякую за увагу

play50:48

підписуйтесь на канал Ставте лайки Дякую

play50:52

та тепер питаннячко за кепочку

play50:57

Скажи будь ласка у тебе був

play51:01

досвід страждан

play51:04

дождання якби внідряти автоматизоване

play51:08

тестування в команди мануальних paa

play51:11

шляхом написання спеціальних кійбордів

play51:15

для автотестів на твою думку наскільки

play51:17

це зараз актуально наскільки це модно і

play51:21

чи вважаєш ти цю таку практику

play51:23

ефективною і з взагалі У мене є відео на

play51:27

цю

play51:28

тему називається що не так з btd

play51:31

а так у мене є такий досвід проект про

play51:34

який я казав який на який я прийшов був

play51:37

провалений це саме був проект

play51:39

застосуванням bdd і метою якого було

play51:43

залучення як умога більшої кількості

play51:45

людей до автоматизації

play51:48

тестування з використанням Гіркін Ну в

play51:50

мене питання наскільки ти вважаєш цю

play51:52

практику ефективною Вона зовсім не

play51:54

ефективна в мене зовсім неефективно це

play51:56

не працює

play51:57

а по факту у вас виходить ситуація коли

play52:02

ви не автоматизуєте А ви надаєте

play52:05

можливість Кому писати комусь писати

play52:07

якісь речення ви додаєте можливість на

play52:10

зверху Точніше так я вже заговориюсь

play52:14

трохи ви надаєте просто обгортку якусь

play52:17

яка повинна надавати цю можливість Але

play52:19

вона по факту не дає і суть геркіна і

play52:22

bdd зовсім в іншому тобто ристання

play52:25

інструментів про які ми казали які

play52:27

keyword keyw driven automation

play52:31

створювалась вона не для цього але

play52:34

через недбалість непрофесійність і

play52:37

корисні

play52:38

якісь наміри людей це продається як

play52:42

заміна автоматизованого тестування для

play52:45

мануальних qaїв і продається це як типу

play52:49

Ось у вас переста ваші мануальні QA

play52:52

почнуть писати автотести по факту це

play52:55

звичайно не працюю Може десь колись із

play52:57

кимось Якщо у вас є позитивний досвід

play53:00

роботи з гєркіном мені буде цікаво

play53:02

послухати вас підготуйте Я обов'язково

play53:04

прийду послухати Так у вас є

play53:07

у круто поговоримо потім в мене питання

play53:11

Я просто в шці з

play53:13

слайдів в приємному сподіваюсь реально

play53:17

Клас дякую де картинки такі А це bн

play53:21

браузер они на далі на далі роблять ага

play53:24

ага Да

play53:26

Да І він до речі апдейтнувся і вони

play53:30

реально прикольні Вони реально прикольні

play53:35

робилять Привіт В мене було питання

play53:38

якраз чи картинка створена штучним

play53:40

інтелектом

play53:41

так і наскільки штучний інтелект

play53:45

допомагає в автоматизації і Як ви

play53:47

думаєте У мене теж є про це

play53:51

відео так дуже допомагає да да Ромчик да

play53:55

допомагає допомагає І я використовую

play53:57

його регулярно

play54:03

Дуже дякую за

play54:06

презентаціюсто питання я от лайчик і

play54:10

таке питання У вас є принцип тестування

play54:12

парадокс пестициду як його обходити в

play54:16

автоматизацію да це це гарне питання А

play54:20

чи треба його

play54:21

обходити я от думаю Ну згіднот

play54:26

Я думаю знаю я знаю як відповісти на

play54:28

ваше питання

play54:30

від Ні я знаю я знаю відповідь на ваше

play54:33

питання насправді це це дуже гарне

play54:36

питання Дякую І це дасть мені Знаєте як

play54:39

я не думав про це Але зараз я думаю що

play54:41

можна його обходити за допомогою

play54:43

параметризованих тестів і рандомайзерів

play54:47

А ти маєш на увазі техніки та дизайн Ні

play54:49

Ні він

play54:52

казав я думаю рандомайзер і

play54:55

параметризовані тести Я думаю що це

play54:56

єдиний спосіб

play54:58

обходити ну якісь бібліотеки які видають

play55:00

рандомні

play55:06

значення Дякую за доповідь головне

play55:08

питання було декілька разів сказано про

play55:10

надійний результат але як же що всі

play55:12

автоматизатори пишуть як боротися з флаг

play55:15

І тестами у вас все надійно як як

play55:17

отримати надійні результа не було фле те

play55:20

там там про флекі нічого не було сказано

play55:22

тому що це все рішали все працює тести

play55:25

зелені е Дивіться Ну це окрема тема

play55:27

Мабуть буде як боротись з лекі тестами і

play55:30

так давайте правду ну вна же ш

play55:32

коларналар Ну я правду ні так я все ж

play55:35

казав все це правда Це ніяких видумок і

play55:38

як я борюсь те отримати ну надійні

play55:41

результати якщо флакі тести є так

play55:43

зробити так щоб їх не було Да

play55:47

Ні ну це типу Це типу Ну питання таке Да

play55:49

ось відповідь відповідь правильна

play55:52

зробити щоб не було у мене на проекті

play55:55

зараз заігнорено реально чотири тести із

play55:59

280

play56:01

toend Три з них заігнорені тому що там

play56:04

баги і один з них флеки один тест У мене

play56:08

флеки всі інші Ну блін обвішуюсь

play56:11

вейтерами сьогодні Ромена До речі була

play56:14

презентація яка була погано чути іноді

play56:17

треба клікнути в циклі поки не Клік

play56:19

Інколи так так так так само в мене все

play56:23

так само типу є ситуа от упй по

play56:27

наприклад дуже непогана функція яка

play56:29

допомагає вам виконувати ітеративні

play56:32

якісь дії Ну воно як асерт ну ти далі

play56:35

просто не будеш рухатись якусь

play56:36

ітеративну дію до моменту поки вона не

play56:38

прийде не пройде інколи ну це погано але

play56:41

без цього ніяк Добре

play56:45

комукетки я повинен да

play56:47

обрати Та я не знаю хто мене

play56:51

похвалив людина давайте хлопц він

play56:55

задавав питання регулярне і за вам

play56:58

потрібна кепка

play57:00

томуправа давайте он дівчині вона теж

play57:03

похвалила мене Дякую всім Вибачте якщо

play57:05

хтось не отримав кепку Дякую всім за

play57:07

увагу кру Дякую дякую дякую гарна справа

play57:10

Да в чатику є посилання на збір за

play57:14

найбільше донат Я вже 500 грн скинув хто

play57:17

більше на браковану кетку надписк клап

play57:20

Львів перевернутий це супер

play57:22

спеціально зроблений баг щоби тестувати

play57:25

зна тому скидайте

play57:29

гроші я щось короче розпиздився хлопці

play57:32

щоб сюди приїхати Я витратив 7 000 грн

play57:34

короче будь ласка скида Ні Ніні я споча

play57:38

на дорогу на готелі і на усе це А в мене

play57:40

щей дочка руку витягнула тому якщо ми не

play57:43

зберемо

play57:45

на ці грмані

play57:48

ночники це буде Я дуже розстроюсь

play57:51

скидайте будь ласка Давайте допоможемо

play57:52

хлопцям з Азову отримати Night Vision

play57:56

glasses так так будь ласка

play57:59

скидайте все насправді Сарян заразрева

play58:02

коробка і коробка із-за того що була

play58:06

тривога тому 5 хвилин на перекур і нова

play58:09

доповідь а потім просто обвішайся

play58:12

кулуарами потім

play58:14

Кумпель А я знаю що таке Кумпель Ну

play58:18

короче потім паль чи що Та 5 хвилин пере

play58:20

А це Кумпель це про про ресторан Так а я

play58:24

думав Кумпель це ми общ ванну це Чан Чан

play58:28

Ну вони кумпелями не то саме слово почти

play58:30

Да да да Так це ж кумпелі так

play58:47

такке та файно тільки на початку так

play58:49

сказати затягнув але розумію чому я на

play58:52

птій хвилині тільки зрозуміла що

play58:54

А ти в тебе фотка є Ні давай спільну

play58:56

фотку ще давай давай давай тільки на

play58:58

п'ятій хвилині зрозуміло що ми їли разом

play59:01

піцу Ти

play59:03

серйозно блін оцеже

play59:05

га Дуже дякую Дуже дякую Дуже дякую вам

play59:09

А ти ж ну не їдеш ще правда

play59:12

сгодйде ні та дружина пише що мала А я

play59:15

до речі знаєш куди їх відправ куди в ні

play59:19

в Музей Науки там в мене мала