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

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

Пояснення прогалини в тестовому покритті відрізняється від простого повідомлення про число. Менеджеру не потрібно, щоб «покриття становить 62%» — йому потрібно знати, які 38% не перевірені, чи це має значення, і що ви насправді збираєтеся з цим зробити. Это словарь для этой беседы.

Ключовий словник

** Число покриття (і чому це проксі) ** — відсоток коду, який виконується тестами, явно обрамлений як недосконале проксі для довіри, а не пряма міра правильності, оскільки 100% покриття зі слабкими твердженнями пропонує менше реального захисту, ніж 70% покриття на шляхах, які насправді важливі. “Сама по собі цифра покриття не говорить про всю історію — ми на 78%, але це включає багато гетер і сетер коду. Логіка розрахунку платежу, яка насправді має значення тут, ближче до 40%.”

** Критичний шлях (не перевірений) ** — конкретний, важливий для бізнесу шлях коду, який не має значного тестового покриття, названий явно, а не похований в агрегованому відсотку, оскільки це є деталлю, яка менеджеру насправді потрібна для оцінки реального ризику. “Критичне місце, яке я б особливо відзначив, це розрахунок відшкодування — він не перевірений, він працює з реальними грошима, і його останній раз змінювали шість тижнів тому без відповідного тесту.”

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

** План усунення ** - конкретна, об’ємна пропозиція для закриття найвищих пріоритетів прогалин в покритті, відрізняється від неясної обіцянки “пізнайомитися з тестуванням”, оскільки конкретний план перетворює прапорець ризику на дієву розмову. “Мій план по відновленню полягає в тому, щоб додати тести для трьох шляхів найвищого ризику — повернення, складання знижок і конвертації валют — протягом наступних двох спринтів, а не намагатися підняти загальний відсоток по всій кодовій базі за раз.”

Звичайні фрази

  • «Сама кількість покриття менш важлива, ніж те, які конкретні шляхи не перевірені»
  • «Критична дорога, яку я б позначила, це [спеціфічна характеристика], тому що [спеціфічна причина, що це має значення]»
  • «Ризик регресії тут реальний, а не гіпотетичний — ось конкретний приклад того, як це відбувається»
  • «Мій план ліквідації зосереджений на [конкретних областях найвищого ризику] спочатку, а не підвищуючи загальний відсоток рівномірно»
  • «Я б скоріше віддав перевагу глибині на шляхах, які мають значення, ніж ширині на шляхах, які не мають значення»

Приклади висловлювань

Переформатування необробленого номера покриття для менеджера:

  • “Наша загальна оцінка становить 65%, але ця цифра сама по собі вводить в оману - майже всі з неперевірених 35% є в низькоризиковому коді. Фактична бізнес-логіка, як ціни, ближче до 90% покрита. ”*

Позначити певний, значущий прогалину:

  • “Я хочу особливо відзначити, що наша логіка скасування підписки не має жодного тестового покриття. Це низької напруги, тому це не викликало видимих проблем, але тиха регресія там безпосередньо коштуватиме нам прибутку. ”*

Запропонувати план ліквідації наслідків, а не нечітке зобов’язання: “Замість широкої ініціативи по «пізнанню тестування», я б запропонував нам спочатку сконцентруватися на трьох модулях, пов’язаних з платежами, оскільки саме там регресія буде найдорожчою, а решту розглядати як менш пріоритетну.”

Професійні поради

  • Завжди представляйте ** число покриття ** поряд з контекстом про те, що він включає і не включає - сирий відсоток без кваліфікації або недооцінює, або перебільшує реальний ризик, і менеджери, які приймають рішення про ресурси, потребують кваліфікованої версії.
  • Назвати будь-який неперевірений ** критичний шлях ** явно і конкретно - загальне твердження, наприклад, “деякі частини не перевірені” не дає менеджеру нічого, щоб діяти, в той час як назва логіки повернення конкретно дає їм щось конкретне, щоб визначити пріоритет.
  • Причина ** регресійного ризику ** в реальному або вірогідному конкретному сценарії, а не абстрактне попередження - “це може зламатися” легко знизити пріоритет; “це зламалося три місяці тому саме таким чином” не є.
  • Запропонуйте обмежений ** план усунення **, спочатку орієнтований на найбільш ризиковані прогалини, а не нечітке зобов’язання покращити охоплення в цілому - конкретний, пріоритетний план фінансується і відстежується таким чином, як загальна мрія не є.
  • Уникайте паніки, навіть коли ризик реальний - спокійне, конкретне пояснення того, що саме не перевірено і чому це має значення, є більш переконливим і більш достовірним з часом, ніж мова, яка читається як панічна.

Практичні вправи

  1. Напишіть речення, у якому буде переформулюватися необроблений відсоток покриття з контекстом щодо того, що воно насправді покриває.
  2. Назвіть певний неперевірений критичний шлях і поясніть, чому він важливий, у одному реченні.
  3. Створення проекту плану усунення порушень, який буде спрямований на дві конкретні області, а не на всю базу коду.

Розрізняють: мовні стереотипи; мовні стереотипи

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

Один з найпоширеніших сценаріїв включає перегляд запиту на завантаження. Уявіть, що отримали такий коментар від свого менеджера: «Ця PR має низький тестовий охоплення. Потрібно більше тестів. ” Пряма відповідь на кшталт “Так, її бракує” не особливо корисна. Замість цього спробуйте щось на зразок: “Я вдячний за відгук про тестове покриття. Спочатку ми зосередилися на перевірці основної функціональності відповідно до вимог, описаних в історії користувача. Однак, я визнаю, що розширення тестового набору для покриття цих крайніх випадків - особливо навколо [згадайте конкретну область занепокоєння, наприклад, «обробка нульових значень» або «перевірка вводу користувача за межами вказаного формату»] - значно зменшить потенційні ризики під час розгортання. Ми можемо визначити пріоритети додавання тестів для цих областей у наступній ітерації. “Зауважте, що такі фрази, як “перевірити”, “країнні випадки” і “зменшити потенційні ризики” є більш конкретними, ніж просто заявляють про відсутність тестів. Використання термінології, знайомої вашому менеджеру, наприклад, посилання на історії користувачів, допомагає їм зрозуміти контекст.

Інша ситуація може виникнути під час розмови у Slack, де обговорюється нещодавнє виправлення вади. Можливо, молодший розробник опублікував: « Виправлено проблему з входом! Не потрібні тести. » Краще відповідь, спрямована на чітке спілкування і демонстрацію активного мислення, була б: « Дуже добре почути про резолюцію! Щоб переконатися, що це не повториться, додамо деякі цільові тести, зосереджені на логіці перевірки вхідних даних. Зокрема, нам слід перевірити сценарії, у яких введено неправильні дані реєстрації — можливо, буде показано негативний тестовий випадок, який підтверджує відповідне повідомлення про помилку. Це підвищить нашу впевненість у виправленні і зменшить будь-які регресії. “Знову ж таки, акцент робиться не тільки на визначенні проблеми (“не потрібні тести”), але і на активному запропонуванні курсу дій з конкретними прикладами - “негативний тестовий випадок” має більший вплив, ніж просто сказати “тестування”

Нарешті, при описі загального розриву з вашим менеджером у описі PR, ви можете сказати: « Поточний реалізація демонструє основну функціональність успішно. Однак, подальші дослідження виявили потенційні вразливості, пов’язані з [згадка про область]. Щоб зменшити цей ризик і забезпечити довгострокову стабільність, ми пропонуємо розширити тестування, щоб включити всеобъемлющую перевірку [специфічного вводу / сценарію] - проактивний захід, розроблений для запобігання майбутнім проблемам і відповідати зобов’язанням нашої команди до надійного розвитку програмного забезпечення. “Це демонструє ретельне розуміння проблеми і описує стратегічний підхід. Пам’ ятайте, ясність і точність є найважливішими при обміні технічними проблемами в бізнес- середовищі.

Поширені запитання

Про що ця стаття "Як пояснити прогалини в тестовому покритті менеджеру англійською мовою"?

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

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Як пояснити прогалини в тестовому покритті менеджеру англійською мовою"?

Приблизно 6 min.