Test Engineering Notes – Telegram
Test Engineering Notes
3.8K subscribers
177 photos
2 videos
643 links
Україномовний канал про технічні аспекти тестування, розподілені системи, блокчейн та кібербезпеку.

Консультації з автоматизації, менторинг, проведення співбесід - @al8xr
Download Telegram
Як менеджмент дивиться на тест репорти після regression тестування. (Все ж зрозуміло, чи не так?)
😁11👍6
Приклад про те, чи роблять тест інженери той самий defect prevention

#testing

Читав я тут статтю PAUL SEAMAN під назвою "TESTING AND PREVENTION – THE ILLUSION". У ній він розмірковує щодо того, чи справді тест інженери можуть запобігти появленню багів - чи ні.

Наведу звідти цікаву аналогію:
"Testing is like this. You’re a passenger in a car, driving down a road that has a variety of speed limit signs. The car has a speedometer which you can see and you glance at it occasionally to check the car’s speed. Does the speedometer reading prevent the driver from driving over the speed limit (which is an issue)? It doesn’t. The speedometer provides you with a signal which you can either ignore or act upon. You might say to the driver “gee the speed limits change a lot around here, we just moved from an 80 km/h zone and into a 60 km/h zone”. The driver can choose to listen to you or ignore you. They might increase speed, decrease speed or stay at the same speed. Changing speed requires a direct input on the accelerator and it is the sole responsibility of the driver to make that adjustment. As a tester you have a focus on the speedometer (and other conditions that are part of the context such as the weather, the road conditions, etc.).

You are providing feedback, perhaps even encouraging slowing the car to a more appropriate speed. You are an observer of what is happening, not the driver who has control and can make changes based on your feedback. You are providing feedback that can be acted upon, but you’re not the person making the adjustments
."

А ви як думаєте - чи справді тестувальник працює саме так, як наведено у прикладі, чи ні?
А як же той quality assurance, continuous testing, shift left and right?
7👍3👎1
Читаємо: “Developer Testing: Building Quality into Software”

#books #testing

Минулого місяця я прочитав книгу - Developer Testing: Building Quality into Software за авторством Alexander Tarlinder.

Ось мої п’ять причин, чому її варто прочитати:
1. Хороший огляд того, які активності з тестування робить розробник.
2. Дається базовий словник тестувальника: різні види та типи тестів, а також техніки тест дизайну. Окремо даються навіть чеклісти того, що зазвичай потрібно перевіряти в коді. (Не ISTQB Syllabus, але непогано)
3. Якщо ви хочете нарешті розібратися з тим, що ж таке testability - в книзі про це виділено аж декілька розділів.
4. Розібрані підходи до модульного тестування та різні види моків, стабів та усього такого.
5. Багато прикладів тестів на різних мовах програмування.

Але книжка не без мінусів:
- Деякі концепції, як наприклад інтеграційне тестування - подаються дуже розпливчасто.
- Хоча більшість прикладів суто практичні, зустрічаються й філософські роздуми без конкретних порад.
- В техніках тест дизайну та рівнях тестування ви не знайдете чогось революційно нового, але для новачка (або розробника) це буде те, що треба

Загалом ця книга, разом із “Effective Software Testing” - поки що є найкращими книгами з практичного тестування. Обидві - можна (та треба!) дати почитати вашим розробникам. Причому, вона не так тяжко читається, як наприклад xUnit Test Patterns.

Ця книга - саме те, чого мені не вистачало на старті кар’єри.
👍26
BiDirectional Contract Testing

#testing #contracttesting #java

Вкрай практична стаття про контрактне тестування за допомогою Pactflow з прикладами на Java.
Рекомендую для читання.
11👍4
Записи доповідей з Testing Stage 2023

#testing #video

Для тих, хто полюбляє дивитися доповіді - маю записи з конференції Testing Stage, що відбулася минулого місяця.

- Дивитись Track A
- Дивитись Track B
👍23
Боремося с синдромом самозванця та закриваємо прогалини в знаннях

#engineering

Для тих хто відчуває на собі синдром самозванця - Dr. Milan Milanović написав чудовий короткий гайд про те, як боротися з цим синдромом.

А для тих, хто дійсно хоче вчитися (особливо фундаментальним речам) - є така штука як Open Source Society University. Люди зібралися та створили цілу програму курсів для тих, хто хоче отримати знання Computer Science університетського рівня. Курси частково безплатні, частково - на Coursera.
Там стільки різного та цікавого, що якщо пройти усі успішно (та створити проeкти в кінці) - то навіть на сучасному ринку праці без роботи не залишишся.
👍25🔥106
Про жаргон та зірковість

#thinking

It’s Wednesday, dudes!
Цього тижня я натрапив на цікаву статтю від Gergely Orosz - “Is Critical Thinking the Most Important Skill for Software Engineers?”.
В ній автор розповідає про дві важливі речі: жаргонізми та довіру "зіркам".

Жаргонізми
Це - будь-які незрозумілі нам терміни - як бізнесові, так і технічні. Проблеми з ними у тому, що коли ми їх чуємо та не розуміємо - ми з якихось причин боїмося запитати. В більшості випадків - причина страху в тому, що усі подумають, що ви мало знаєте та й взагалі дуже сумнівний спеціаліст. А питати треба. По-перше - ви дізнаєтесь нове та розберетеся в незрозумілому. По-друге - дасте шанс людині пояснити ці терміни простими словами. Адже якщо ти не можеш пояснити термін, який застосовуєш - ти не до кінця розібрався в ньому.

Довіра “зіркам”
Коли ми починаємо кар’єру (та й надалі) ми стикаємося з лідерами думок: в Твіттері, телеграм каналах, на конференціях. Ці люди, зазвичай, дуже впевнено стверджують різні речі. А через їх досвід та “медійність” - ми схильні таким людям довіряти.
Але варто пам’ятати, що ці “зірки” можуть помилятися або грунтуватись на суто власному досвіді (а потім натягувати цей досвід на будь-які ситуації).

В обох випадках, треба критично ставитися до інформації. Розбиратися та перевіряти. Навіть, якщо це говорять люди з великим досвідом.

Для тих, хто хоче дізнатися більше - ласкаво прошу прочитати оригінал.
👍17
💡Українські телеграм канали з тестування.

Так як лінка трохи міняється - додам окремий пост.
Збірка активних українських телеграм каналів з тестування. Приєднатись - тут.

P.S. краще відкривати з мобільного
👍6
Що це за канал та чи варто його читати?

Днями на канал підписалося багато нових людей. Тому я хотів би ще раз розповісти про те, хто я та чому варто читати цій канал.

Про автора
Мене звати Олександр Романов. В IT я працюю з 2011 року. Декілька місяців був тестувальником, а потім більшу частину своєї кар’єри займався автоматизацією тестування як у продуктових компаніях так і в аутсорсі. Був автоматизатором, СДЕТом та лідом СДЕТів. На даний момент я працюю в компанії IOHK. Ми розробляємо блокчейн Cardano та різні продукти з ним пов’язані.

Основний мій технологічний стек - це Java. Але довелося також працювати із C# та Scala. Цього року перейшов на новий проект та пишу на Python. У вільний час досліджую питання тестування та безпеки смарт-контрактів та блокчейну.

Крім каналу, я веду блог, роблю доповіді та є в Twitter. Також пишу дайджести на DOU та приймаю участь у подкасті “Не баг, а фіча”. А ще - я займаюся менторингом з автоматизації.

Про канал
У цьому каналі я збираю інформацію про технічну сторону тестування та інженерії - тобто про великі складні розподілені системи, як вони працюють та як підходити до їх перевірки.

Основний фокус саме на практичних знаннях та нових підходах. Що саме головне - я намагаюся пояснити навіть найскладніші речі простими словами.

Точніше, в каналі ви знайдете:
- Історії з власного досвіду
- Практичні статті та доповіді з автоматизації
- Рецензії на книжки з тестування та розробки
- Короткі огляди на різні дослідницькі роботи з тестування та якості загалом
- Підбірки цікавих постів та інструментів
- Відгуки на конференції та курси

І ще одне! В каналі є можливість шукати матеріали по тегам: #testing #digest #books #engineering

Ласкаво прошу у канал. До зустрічі в коментарях. Давайте разом робити тестування більш технічним та цікавим.
78👍18🔥6
Test Engineering Notes pinned «Що це за канал та чи варто його читати? Днями на канал підписалося багато нових людей. Тому я хотів би ще раз розповісти про те, хто я та чому варто читати цій канал. Про автора Мене звати Олександр Романов. В IT я працюю з 2011 року. Декілька місяців був…»
Які є інструменти для автоматизації в ...

#testing #python #java #tools

Доброго ранку.
Коли ми тільки знайомимось з автоматизацією, або ж переходимо з однієї мови програмування в іншу - постає багато питань.
- Яку бібліотеку для ассертів взяти в мові Х?
- Які є альтернативи бібліотеці репортів у мові У?
- Чи є BDD інструмент для мови …?
- Та інше …

Авжеж можна запитати в каналі чи в чатах тест інженерів. Але мені допомагають списки типу awesome-X. У них хтось дуже добрий вже зібрав купу інструментів та виклав у публічний доступ.

Які списки використовую я сам:
- awesome-test-automation від atinfo. Є для багатьох мов програмування - у тому числі - Java, Python, JS.
- awesome-python-testing - лист інструментів для Python.
- java-testing-toolbox - набір прикладів з книги “30 Testing Tools & Libraries Every Java Developer Must Know”. (Знайшов цього тижня, але виглядає непогано для початківців).

Для інших технологій та мов програмування, можна пошукати списки awesome списки на GitHub.
👍314🔥2
Ще раз про оцінювання задач

#testing #process

Минулого тижня я прочитав дві вкрай практичні статті про те, як робити естімейти.
- Rules of Thumb for Software Development Estimations
- My Software Estimation Technique

Далі я наводжу мої короткі нотатки (авжеж краще ознайомитись із оригіналом!)

Про оцінки
- Не існує двох повністю ідентичних проєктів
- Невизначеність буде завжди
- Комунікації між командою та бізнесом впливають на оцінки

Як НЕ треба робити естімейти
- Намагатись “вгадати” чи взяти оцінку з довідника “стеля”
- Користуватись одним та тим самим підходом для будь-яких задач
- “Забивати” на зовнішні фактори
- Відмовлятись переглядати оцінки з часом

Яку техніку естімації пропонує Jacob Kaplan-Moss:
1. Розбийте роботу на невеликі менш складні підзадачі. В залежності від складності це можуть бути small, medium, large та extra-large задачі.
2. Оцініть невизначеність. Розробіть свою виміру: чим більше невизначеність, тим більший множник. Для низького рівня множник може бути 1.1, для найбільшого - 5.0.
3. Виконайте розрахунки. Для кожної задачі розрахуйте очікуваний час виконання, а також час з урахуванням невизначеності.
4. Уточніть дані, якщо є потреба. Якщо у вас багато extra-large задач, спробуйте або розбити їх, або додати окремі задачі на research - щоб зменшити ризики та невизначеність.
5. Відстежуйте точність, щоб покращуватись із часом. Порівнюйте, наскільки ваші оцінки відрізняються від реального часу виконання задачі - та робіть відповідні зміни у своїх підходах.

Які ще техніки оцінки задач існують
- Program Evaluation and Review Technique
- Evidence-based scheduling
- Fruit-salad scrum

Як допомогти менеджеру та команді робити оцінки краще
- Більше комунікуйте
- Користуйтеся своїм досвідом
- Не забувайте про ризики
- Заохочуйте культуру, де задавати питання та уточнення - це нормально

P.S. Наче нічого кардинально нового, але ...
P.P.S. Думаю, Артем та Артур можуть доповнити замітки щодо оцінок ... 😉
15👍8🔥1
Секрети тестування від Matt Heusser

#testing #video

Matt Heusser щотижня викладає короткі відео, в яких розповідає про тестування та ділиться секретами із власного досвіду.

Вже вийшло три випуски: 1, 2, 3

Про що там?
- Який найбільший секрет тестування
- Чому ми прокрастинуємо, коли потрібно тестувати та як зробити тестування веселим
- Скільки часу ми дійсно витрачаємо на тестування
26👍5
Test Engineering Notes: Volume 2

#testing #engineering #digest

Всім привіт. Черговий дайджест цікавих статей вже тут.

З найкращого, у цій підбірці ви знайдете:
- чи можна копіпастити код у тестах та чи працює дослідницьке тестування в Agile
- тренди автоматизації в 2023 та підходи до тестування навантаження розподілених систем
- чи потрібно переписувати усе за "папєрєдніками"?
- як працюють Slack, ChatGPT, алгоритми рекомендацій та пошуку аномалій
- чи моноліт краще за мікросервіси та чи можна вже зараз створювати додатки та тести зі специфікації з ChatGPT

а також купу інструментів, включно з новою тулою для тестування мобілок.
👍113🔥2
День корисних шпаргалок. Цього разу - як обрати базу даних та основи роботи з SQL
👍29🔥17
Хороша візуалізація того, що таке двох-факторна аутентифікація
👍51
Корисне з GitHub - 1

#github #selection

- Для тих, хто вивчає тестування безпеки маю план навчання із добірками статей. Постійно поповнюється.
- Для стильних та молодіжних, хто користується JS в автоматизації - webdriverjs рецепти
- Для тих, хто як і я, час від часу помиляється в командах в консолі - thefuck
22👍6
Про стандарти та якість даних

#testing

Всім доброго ранку понеділка.

Час від часу на співбесіді можна почути питання - "А що таке якість? Які різні аспекти якості ви знаєте? Що ви знаєте про якість даних?"

Ця тема доволі обширна, але починати пропоную зі стандартів.

Знайшов отакі стандарти:
- ISO/IEC 25010 Software Product Quality
- ISO/IEC 25012 Data Quality Model

Окремо для тих, хто хоче почитати про застосування моделі якості даних:
- Data Quality Certification using ISO/IEC 25012: Industrial Experiences
- Assessing data cybersecurity using ISO/IEC 25012
👍196