{Рецензія} Software Testing: A Craftsman's Approach

{Рецензія} Software Testing: A Craftsman's Approach

Test Engineering Notes

У пошуках хороших книг

Що таке хороша технічна книга?

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

Я читав доволі багато книжок про тестування. Книги були різними. В більшості випадків то була або відверта "вода" на мільйони сторінок із порадами "за все хороше, прости всього поганого". Або - конкретний мануал по тій чи іншій бібліотеці, чи інструменту. Останній вид книжок хоча й може допомогти на якомусь етапі кар'єри, але не може бути тим самим рушійним каменем у розумінні тестування.

Зізнаюся, на цей час я ще не дійшов до читання книг із серії Advanced Testing від творців ISTQB. Може там я і знайду багато технік та відповідей на питання. А може й ні.

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

Сьогодні я розповім про одну з таких хороших книжок. Сподіваюсь, вона також буде вартою Вашої уваги.

Про що книга?

Книгу Software Testing: A Craftsman's Approach від Paul C. Jorgensen я читав доволі довго та дуже неквапливо. По-іншому її читати дійсно неможливо. Починав я її читати з деяким скептицизмом - бо, я ж бо, знаю про тестування та техніки доволі багато - тому мене здивувати чимось новим дуже складно.

Але завершив читання я із купою листів конспектів та занотованих схем. А також - із купою ідей, як прочитане можна застосувати навіть у повсякденній роботі тест інженера.

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

У першому розділі, під назвою "A Mathematical Context" автор починає розповідати про деякі базові теоретичні аспекти тестування. Ілюстрації у розділі прості, але разом з тим надзвичайно змістовні. Один з прикладів я вже описував у своїй статті про головну задачу тест інженера.

Також у цьому розділі ви познайомитеся з базою дискретної математики та теорії графів (дещо в спрощеному варіанті, але близько до того, що дають в університетах). Так - ці розділи математики РЕАЛЬНО ВИКОРИСТОВУЮТЬСЯ в тестуванні!

У другому розділі, "Unit Testing" автор говорить про різні техніки тестування. Починаючи із найбільш відомих, таких як Boundary-Value Analysis, Equivalence Classes, Decision-Tables. Закінчуючи побудовою різноманітних видів графів виконання коду (а також як це зв'язано із покриттям коду). Також дуже цікаво розкривається питання тестування об'єктноорієнтованого коду та визначення складності коду.

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

У третьому розділі, "Beyond Unit Testing" ви продовжите подорож у світ тестування та поступово будете збільшувати масштаби. Від технік інтеграційного тестування (Call Graph-Based, Path-Based, Model-Based) до системного тестування (а також тестування system of systems). Знову ж таки - після кожного розділу є практичні завдання.

На завершення розділу, ви також взнаєте, чому важливо проводити технічні рев'ю (і це не тільки код рев'ю).

Чи варто читати цю книгу?

Так - якщо ви хочете прочитати книгу із купою практики, практично без води. Якщо ви хочете побачити, що тестування - то не "вивчи за пару місяців та піди клацати!". Книга написана більш академічною мовою (тому буває нудною). Автор розраховує на деякий технічний бекграунд читача:. для повноти картини ви повинні розуміти вміти читати код (на прикладі Java).

Так - якщо ви в індустрії від 3 років й вище, вважаєте, що бачили та робили в тестуванні вже майже все, а йти у ліди чи менеджмент поки не хочеться.

Ні - якщо ви лід та займаєтесь тільки стратегіями та піпл менеджментом.

Ні - якщо ви початківець в індустрії. Є багато інших простих книжок та курсів. З цією книжкою вам точно буде нудно та нецікаво. Гарантую.

Ні - якщо ви потребуєте конкретних відповідей "як використовувати фреймворк А" чи "як писати локатори", чи "де розміщувати тест кейси". Це - не легенька книжка типу Тестування Дот Ком.




Report Page