Різниця тестування ПЗ та заліза (Software Vs. Hardware testing)
Last updated
Last updated
Програмне забезпечення ( ) - це керуючий набір інструкцій та даних. В інформатиці та розробці програмного забезпечення програмне забезпечення – це вся інформація, що обробляється комп'ютерними системами, включаючи програми та дані. Програмне забезпечення включає програми, бібліотеки та пов'язані з ними дані, які не виконуються, такі як онлайн-документація або цифрові носії. Програмне забезпечення та обладнання вимагають один одного, і жодна з них не може реально використовуватись окремо. На найнижчому рівні програмування код, що виконується, складається з інструкцій машинної мови, що підтримуються окремим процесором - зазвичай центральним процесором (ЦП) або графічним процесором (ГП). Машинна мова складається з груп двійкових значень, що позначають інструкції процесора, які змінюють стан комп'ютера порівняно з попереднім станом.
Апаратне забезпечення (Hardware) – це фізичний електронний пристрій, промислове обладнання або компонент комп'ютера. Прикладами обладнання комп'ютера є CPU, MB, пристрої введення/виведення та зберігання даних (HDD або SSD). Без обладнання програмне забезпечення не буде на чому працювати. Апаратне та програмне забезпечення взаємодіють один з одним, і програмне забезпечення повідомляє апаратне забезпечення, які завдання воно має виконувати.
Різниця в тестуванні ПЗ та заліза :
У глобальному сенсі нам не дуже важливою є природа об'єкта тестування, т.к. принципи не змінюються. Однак, як кажуть, є нюанси:
"Залізний" баг може легко фізично безповоротно зламати єдиний робочий прототип. Критерії відбору тестів повинні враховувати аналіз ризиків;
Сама взаємодія із залізом, як і зняття показників результатів/метрик може вимагати додаткове обладнання, фізичні модифікації, а також майже напевно інженерний розум та прямі руки з потрібного місця;
Тести програмного забезпечення на відміну від тестів заліза віртуальні, їх можна копіювати та перевикористовувати та проганяти скільки потрібно. ПЗ можна легко змінити і розвинути за допомогою кількох релізів, у той час як обладнання вимагає більш високих витрат на зміну і не може бути рефакторинг після виробництва. Тестувальники повинні розуміти, що коли обладнання створюється, вони не можуть додавати до нього нові можливості. Таким чином, тести підходять тільки для цієї лінійки обладнання, і для наступного продукту необхідно створити інший набір критеріїв оцінки. Конструкції обладнання також значно обмежені через конкретні деталі або галузевих рекомендацій;
В результаті першої різниці існують у тест-кейсах. При використанні кейсів для ПЗ для виконання всіх запланованих тестів може знадобитися від 50 до 100 кроків, це результат того, що потрібно врахувати безліч речей і високого рівня автоматизації тестування, пов'язаного з гнучкою розробкою програмного забезпечення. Команди можуть використовувати інструменти тестування якості, щоб відстежувати ці операції та гарантувати, що все йде так, як очікувалося. З іншого боку, етапи тестування обладнання набагато коротші і простіші і включають лише кілька етапів, щоб перевірити, чи працює продукт. По-перше, прошивка може бути перевірена на справність. Потім обладнання оцінюється, щоб переконатися, що воно добре інтегрується з іншими системами та належним чином працює з необхідними додатками та операційними системами. Зрештою, вся система оцінюється за тим, наскільки добре вона відповідає вимогам замовника та високорівневим специфікаціям, таким як відповідність (compliance). Апаратне забезпечення не можна сильно змінювати перед випуском, тому важливо, щоб групи виконували повні тести виявлення будь-яких слабких місць, які можуть бути властиві продукту.
Що стосується програмного забезпечення, що управляє обладнанням, тут різко може зрости необхідний технічний рівень для тестування (низькорівневе розуміння роботи заліза, зв'язки з прошивкою, програмування мікроконтролерів, асемблер і ось це все):
Embedded operating systems;
Device driver and service testing;
Multi threaded communications;
Synchronising data from multiple external sources;
Застосування даних скопій до ізолованих Errors (Hardware vs Software);
Джерела:
Дод. матеріал: