Як розробляється “залізо” та де там тестування.

Зміст

Це ґайд про те що та як можна тестувати на різних етапах розробки умовного приладу та софт що з ним спілкується. Народився він з запиту однієї пані в одному тґ чату.

Пояснення

Я не люблю розумних слів та модних парадигм на кшталт shift left, в мене нема сертифікацій, я просто роблю так щоб продукт вийшов на ринок. Це мій узагальнений досвід.

Пункт перший - чи взагалі воно потрібно?

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

Пункт другий - прототипування.

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

Десь тут ще треба подумати про доступність компонентів - ви обираючи мікроконтролер очікуєте що він буде доступний, а от на Тайвані повінь чи ураган - та всьо, ціна не та, буде може через декілька місяців. Також рекомендую дивитись на підтримку вендора, бо якщо EOL вже через рік - варто взяти наступний варіант чіпа. Або маятись з глючними копіями з “аліка”.

Пункт другий з половинкою - перша прошивка

Отак, майже забули. Тут є прошивка, ми смикаємо піни, очікуємо сигнали та віримо що все співпадає. Тестувальник навряд чи тут допоможе, окрім як словами підтримки. Можна тестувати вимоги.

Пункт третій - прототипування по-дорослому.

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

Пункт четвертий - ваша стабільна (ніт) та остання (ніт) плата

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

Пункт пʼятий - це бета-тест on site.

Тут проект зтикається з реальністю, а ви з новими багами. Тут буде корисним подумати про що саме вам допоможе відтворити баг - може треба додатковий осцилограф перед вашим виробом, може логування, it’s your call really.

Субʼєктивні висновки

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

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
ОТ
Олександр Трещов@Kneize

35Прочитань
1Автори
1Читачі
На Друкарні з 22 квітня

Вам також сподобається

  • Автоматичне тестування ПЗ (визначення, процес створення)

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

    Теми цього довгочиту:

    It
  • Що таке Selenium?

    Selenium — це інструмент для автоматизації тестування веб-додатків. Він дозволяє розробникам і тестувальникам автоматизувати взаємодію з веб-браузером, тобто виконувати різні дії на веб-сторінках, такі як клікання на кнопки, введення тексту, перевірка наявності елементів і т.д.

    Теми цього довгочиту:

    Selenium

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Вам також сподобається

  • Автоматичне тестування ПЗ (визначення, процес створення)

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

    Теми цього довгочиту:

    It
  • Що таке Selenium?

    Selenium — це інструмент для автоматизації тестування веб-додатків. Він дозволяє розробникам і тестувальникам автоматизувати взаємодію з веб-браузером, тобто виконувати різні дії на веб-сторінках, такі як клікання на кнопки, введення тексту, перевірка наявності елементів і т.д.

    Теми цього довгочиту:

    Selenium