Чи можна остаточно позбутися дефектів та інших помилок у програмному забезпеченні? Відповідь однозначна - ні. Але чому так? Невже всі ІТ-спільноти так чи інакше приречені на нескінченну та невпинну боротьбу з помилками?
Відповідь також проста: так, дилінг буде постійним.
Тестувальники/програмісти щось упускають
Люди не є досконалими. Виникнення помилок - це свого роду наука. Ніхто з нас не може запрограмувати абсолютно всі можливі ситуації, тому що ніхто не може уявити всіх можливих варіантів. І це стосується не тільки тестувальників, але й програмістів.
Як завжди, завжди чогось не вистачає у вимогах клієнта, архітектурі системи, програмному коді чи тестуванні. На будь-якому етапі, де задіяні люди компанії, що займається тестуванням програмного забезпечення, чогось обов’язково буде не вистачати. І ось, коли такі “прогалини” виникають, з’являються дефекти.
Люди не розуміють один одного
Навіть якщо ми можемо уявити собі всі ситуації та варіанти, які можуть статися, нам потрібно поділитися цими ідеями з іншими людьми, які займаються тією ж діяльністю, що й ми.
І це дуже точний переклад картини “з однієї голови в іншу”. Адже один і той самий програмний код двоє чи більше людей можуть розуміти та інтерпретувати по-різному. А він (код) повинен бути “однією абсолютною істиною”. Отже, несподіванка неминуча.
Погані переклади
Помилки перекладу можна зустріти на кожному кроці: у програмному коді, у розробці тестів, у запропонованих рішеннях тощо. Такі помилки поступово накопичуються і поширюють баги.
Використання хибних припущень
Невелике припущення не може серйозно вплинути на щось, чи не так? Ми думаємо, що впевнені у своїх знаннях. Ми припускаємо, що всі інші члени проектних команд думають так само.
На жаль, ми не можемо уникнути таких помилкових припущень. Інакше ми опинимося в точці відліку - ми повинні думати про ціле, а не про окрему складову частину. Проте ми, звичайно, не будемо цього робити, оскільки наш мозок “підказує” нам, що всі це вже знають.
Абсолютно все, що ми будуємо на припущеннях, ми не обов’язково описуємо в коді, або якщо ми припускаємо найгірше, то в результаті отримуємо дуже великий програмний код.
У першому випадку ми неодмінно здивуємося, що помилилися. А в другому випадку програмний код стане дуже складним, що ускладнить перевірку та доведення наших припущень.
Короткий висновок
Існує, ймовірно, багато інших причин для появи вад. Однак, джерела розмноження помилок потрібно зменшувати примусово, наприклад, за допомогою оглядів коду або технічної комунікації.










0 коментарів