Протягом останнього року або близько того я привів свою команду до режиму розвитку, який часто випускається на ранньому рівні (AKA: Швидкий розвиток додатків, а не Agile). Для отримання додаткової інформації про спосіб закриття збірки див. Мою відповідь тут: Прості способи покращити якість випуску в середовищі RAD
Коли ми прийняли RAD, люди були цілком незалежними і спочатку робили тестування. інтегровані тести траплялися значно пізніше в процесі. Це був природний процес для них без особливого формального примусового виконання. Зараз ситуація зовсім інша:
Вся платформа добре інтегрована з усталеними побудови / випуски працюючих на стороні клієнта без будь-яких гарячих точок.
Нові вимоги до функціональності продовжують надходити, і ми поступово формуємо їх у міру розвитку.
Загальна динаміка системи є дуже важливою, оскільки, хоча незалежні групи розвитку можуть правильно слідкувати за процесами, основні збої виникли через складні, не очевидні обставини.
У багатьох частинах системи задіяні нові алгоритми та результати досліджень, тому завдання (і, отже, механізм тестування) не завжди передбачені правильно, як тестування функцій у чітко визначеному програмному забезпеченні.
Нещодавно я намагався покращити загальну картину, щоб побачити, чи потрібно вдосконалення процесу. Коли я сіла зі своєю командою, багато з них виступили з голосом: "Ми більше не робимо тестування!" а інші вважали, що не варто починати зараз, тому що це ніколи не буде ефективним.
Чи корисні одиничні тести у відносно зрілій системі? Чи потрібно нам принаймні зважувати обсяг тесту залежно від зрілості одиниць? Чи уповільнить тестування одиниці темпи розвитку? Чи потрібно оцінювати одиничне тестування по-іншому?
Які найкращі практики тестування для зрілої платформи в середовищі, що часто випускається на початку-випуску?