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

Зміст

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

Пояснення

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Що таке Selenium?

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

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

    Selenium
  • Історія про користь рефлексії у боротьбі з синдромом самозванця

    Ця історія допоможе усім поточним джунам, мідлам та навіть сіньйорам, що дуже переживають про те, як шукати роботу та чи дійсно вони мають поточні скіли (та варті своєї ЗП чи посади).

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

    Тестування

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

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

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

  • Що таке Selenium?

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

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

    Selenium
  • Історія про користь рефлексії у боротьбі з синдромом самозванця

    Ця історія допоможе усім поточним джунам, мідлам та навіть сіньйорам, що дуже переживають про те, як шукати роботу та чи дійсно вони мають поточні скіли (та варті своєї ЗП чи посади).

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

    Тестування