Юнит-тестирование в языке Си на примера фреймворка Unity (Владислав Жолнерович, LVEE-2019) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
(не показано 15 промежуточных версий этого же участника) | |||
;{{SpeakerInfo}}: {{Speaker|Владислав Жолнерович}} <blockquote> Введение. Во всем цикле разработки ПО известны методологии тестирования такие как unit, integration, stress, system, и иногда performance tests. Так же есть подходы в разработке как TDD, BDD. ;Сравнение языков: Как все просто в Java C# и интерпретируемых языках и не очень в С++ из-за особенностей генерации машинного кода. Но в Си картина выглядит еще сложнее из-за процедурной модели вместо ООП, отсутствие интроспекции, слабая защита при работе с памятью и т.д. ;Почему: На примере аппаратного проекта, особенно использующего сторонние СДК которые иногда нужно замокивать, мы можем встретиться с сложностями такими как подготовка программного кода и "отрезание" всех зависимостей от исходников, для того чтобы их скомпилировать. Получаются специальные блоки, ограниченные условным макросом UNIT_TESTING. В языке С приходится "готовить" код к потенциальному тестированию и вставлять фрагменты, позволяющие тестовой среде работать с этим кодом. ;Unity: Обзор фреймворка Unity. Почему он настолько ловкий, и казалось бы зачем выбирать имя как у похожего фреймворка из С#... Дополнительный инструментарий помимо <tt>unity.c</tt> файла: <tt>СMock</tt>, <tt>Ceedling</tt>, <tt>CException</tt>. </blockquote> {{VideoSection}} {{vimeoembed|366009832|800|450}} <!-- {{youtubelink|}} -->|PBP-A9ryg0o}} {{SlidesSection}} [[File:Юнит-тестирование в языке Си на примера фреймворка Unity (Владислав Жолнерович, LVEE-2019).pdf|left|page=-|300px]] {{----}} == Thesis == {{----}} [[File:{{#setmainimage:Юнит-тестирование в языке Си на примера фреймворка Unity (Владислав Жолнерович, LVEE-2019)!.jpg}}|center|640px]] {{LinksSection}} * [ Talks page] <!-- <blockquote>[©]</blockquote> --> {{vklink|1461}} {{fblink|2443952039191136}} <references/> [[Категория:LVEE-2019]] [[Категория:Draft]]TDD]] [[Категория:C++]] {{stats|disqus_comments=0|refresh_time=2021-08-31T18:45:11.065549|vimeo_plays=42|youtube_comments=0|youtube_plays=110}} |
Текущая версия на 15:45, 31 августа 2021
- Докладчик
- Владислав Жолнерович
Введение. Во всем цикле разработки ПО известны методологии тестирования такие как unit, integration, stress, system, и иногда performance tests. Так же есть подходы в разработке как TDD, BDD.
- Сравнение языков
- Как все просто в Java C# и интерпретируемых языках и не очень в С++ из-за особенностей генерации машинного кода. Но в Си картина выглядит еще сложнее из-за процедурной модели вместо ООП, отсутствие интроспекции, слабая защита при работе с памятью и т.д.
- Почему
- На примере аппаратного проекта, особенно использующего сторонние СДК которые иногда нужно замокивать, мы можем встретиться с сложностями
такими как подготовка программного кода и "отрезание" всех зависимостей от исходников, для того чтобы их скомпилировать. Получаются специальные блоки, ограниченные условным макросом UNIT_TESTING. В языке С приходится "готовить" код к потенциальному тестированию и вставлять фрагменты, позволяющие тестовой среде работать с этим кодом.
- Unity
- Обзор фреймворка Unity. Почему он настолько ловкий, и казалось бы зачем выбирать имя как у похожего фреймворка из С#...
Дополнительный инструментарий помимо unity.c файла: СMock, Ceedling, CException.
Содержание
Видео
Презентация
Thesis
Примечания и ссылки
- [ Talks page]
Plays:152 Comments:0