Вход:  Пароль:  
FreeSource: WINE/Разработчику/Методика ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Vostok: Всё безнадёжно устарело.. Для сотрудников Etersoft необходимо внести существенные изменения о взаимодействии разработчиков с другими подразделениями и рекомендовать к обязательному прочтению всем начинающим.

Методика разработки

Необходимые знания

  1. Умение читать и писать на техн. английском.
  2. Основы работы с patch, diff, git.
  3. Представление о WinAPI.
  4. Использование поисковых систем.
  5. Умение тестировать и писать тестовые программы.
  6. Базовые представления об удобстве использования GUI.

Общий подход к работе над адаптацией к программе

I этап

  1. Установить программу
  2. Записать наблюдаемые визуальные дефекты и проблемы с функциональностью
  3. Локализовать проблемное место
  4. Запросить исходники проблемной части, которые помогут написать код, воспроизводящий ситуацию
  5. Оценить трудоёмкость работы по исправлению в человекоднях

II этап

  1. Выполнить необходимые доработки согласно плану
  2. Провести полное тестирование результата
  3. Проверять отсутствие регрессии на каждом новом шаге развития WINE (раз в неделю)

III этап

  1. Осуществлять поддержку и оперативное исправление замечаний

Работа с проблемой


1. Создать описание в багзилле

  1. Найти причину проблемы
  2. Создать контрольные тесты
  3. Выставить предложения по исправлению
  4. Реализовать исправления после их утверждения
  5. При этом необходимо максимально использовать и дополнять имеющиеся тесты.

Тестирование


  1. План тестирования
  2. Логи тестирования
  3. Сводная таблица результатов.

Примерный план работы по каждой задаче


Должно быть сформулировано прохождение каждой проблемы от появления до решения.


  1. Формулирование видения проблемы извне (внешне, с точки зрения пользователя) – какой диалог как себя не так ведёт.
  2. Анализ кода с целью получения общего представления и определения проблемных мест
  3. Создание описание функции на англ., включая поведение в сложных ситуациях (для начала можно на русском). При этом описать входы и выходы (что передаётся и возвращается, в каких ситуациях). По сути, это техн. задание ТЗ) – но чтобы было с чем сверяться. При этом изучить и систематизировать имеющийся в сети материал.
  4. Cоздание программы для тестирования в различных режимах, в большинстве случаев это оформляется как программа, воспроизводящая проблему – небольшой код, который неверно работает в WINE. Программа должна компилироваться средствами winegcc.
  5. Определиться, что не работает, что работает не так; сформулировать что надо сделать
  6. Согласно имеющейся информации написать автоматический тест (каталог tests), если это возможно. Тест должен выполняться на Windows семейства NT начиная с NT4
  7. Составить план работ с оценкой трудоёмкости и сроков (дата начала и завершения)
  8. Приступить к выполнению, корректируя п. 3–5

Как вносить исправления


По всем пунктам, где требуется решить проблему,


Все сделанные патчи должны отправляться в Eterwine patches maillist с указанием веток, к которым следует применить исправление.
Если получено корректное исправление и для него написан тест для wine, то патч вместе с тестом можно отправить в рассылку wine-patches@ апстрима.

Тесты для функций

Тесты для функций пишутся следующим образом:
1. Вызывается функция
2. Сверяется результат её выполнения (возвращаемое значение) с эталоном
3. Сообщается результат сравнения.


В тестах для WINE для сообщения о прохождении теста используется функция ok.


Функция ok (int bool, char* format, ...)
Выводит сообщение об ошибке, с указанием номера строки, а также
текст, содержащийся в строке format, если bool не истина (bool == 0).
Параметр format и последующие аргументы интерпретируются так же, как параметры функции
printf


Страницы, ссылающиеся на данную: WINE


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]