Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 16 по 30 из 44

Тема: CheckLog - анализ журналов радиолюбительской радиостанции

  1. #16
    Радиолюбитель
    Регистрация
    24.11.2003
    Адрес
    Таллин
    Возраст
    62
    Сообщений
    2,628
    Поблагодарили
    557
    Поблагодарил
    185
    Цитата Сообщение от R2ADF Посмотреть сообщение
    если такой стиль подачи документации не вызывает ни у кого отторжения или моральных терзаний - я его сохраню и в дальнейшем...
    Если это все для 8 человек (а дальше, мне так кажется, и того меньше), то почему-бы не вести этот "междусобойчик" в закрытой теме?

  2. #17
    Радиолюбитель
    Регистрация
    25.02.2009
    Адрес
    Хайфа, Израиль
    Возраст
    50
    Сообщений
    269
    Поблагодарили
    32
    Поблагодарил
    50
    А чем он мешает своей открытостью ?

    Успехов автору в проекте!

  3. #18
    Радиолюбитель Аватар для R2ADF
    Регистрация
    24.04.2015
    Адрес
    Москва
    Сообщений
    152
    Поблагодарили
    56
    Поблагодарил
    4

    Лекция #2 для группы бета-тестеров (и для остальных интересующихся)

    Ну вот, тестирование началось... Пока маховик не пришел в такое движение, что его невозможно остановить и как-то повлиять - займемся самообразованием. Чуть-чуть... Думаю, что излагаемое сегодня будет полезным не только бета-тестерам, но и многим другим, так или иначе связанным с "миром информационных технологий". Все мы тут "немного айтишники"...

    Сегодня будет "многабукофф"... Постарайтесь прочитать за один подход к этому тексту, до конца. А картинок сегодня не будет... ну, разве что вот - для начала разговора. Из серии "наши лучшие проекты":


    Нажмите на изображение для увеличения. 

Название:	WayOfProject.jpg 
Просмотров:	4 
Размер:	123.6 Кб 
ID:	203591

    Полюбовались? тогда - вперед!

    О целях тестирования

    Самым распространенным заблуждением среди публики, имеющей возможность наблюдать за разработками программного обеспечения («софта»), с годами стало «Там нет ничего сложного, а программисты, как всегда, напутали».

    Так вот, в этой формулировке неправильно все. Отчего так? Разберемся. Даже если программа выполняет ровно одну функцию – печатает на листочке бумаги текущее время и номер для какой-нибудь очереди, внутри нее скрыт гораздо более сложный мир. По крайней мере, она должна где-то брать значение точного времени и не слишком редко его обновлять. Она должна следить за заряженными в аппарат рулончиками той же бумажной ленты для печати – чтобы были, чтобы не перекосило, чтобы хватало краски для печати, чтобы проходила тем трактом, каким положено… и прочая, и прочая, и прочая. И окажется, что для успешной работы всего одной функции необходимо много, как это принято говорить «на англо-русском языке», пререквизитов. Наличие программиста является важным, но лишь последним звеном в цепочке. А шишки традиционно сыплются не на нерадивых снабженцев, кладовщиков, бухгалтеров, механиков, водителей, экспедиторов, монтажников, ремонтников и прочих «скрытых от глаз» – но именно на программистов. Каковые программисты, как бы хороши не были, сами и в одиночку этих проблем не решат.

    Кроме того, программист может элементарно не представлять всех организационных и технологических тонкостей процессов, для которых он пишет программу. Ну ладно, в данном конкретном случае я – все-таки радист. Любитель, но радист. И я задумал этот проект как удовлетворение собственного интереса. Однако есть другие люди, интересующиеся моей программой. А у этих людей может быть другая привычка к той же радиолюбительской деятельности, которую я не видел и не учел при разработке «софта». А хорошая программа, как зелено-серый доллар, должна быть интересна и полезна всем. Ну, или большинству. Из интересующихся, конечно – папуасам из Мумбы-Юмбы доллары не нужны, им лишь «культ Карго» подавай.

    Значит, главной целью тестирования является проверка поддерживаемой программой логики и технологии – на соответствие типичным приемам и привычкам работы людей. Второй целью выступает нахождение тех ситуаций, в которых программа ведет себя «неподобающе», не отвечая запросам и потребностям все тех же заинтересованных людей.

    Понятно, что один лишь разработчик этих целей не достигнет никогда.

    О задачах тестирования

    Как говорится, «Цели ясны – за работу, товарищи!». Определимся, какие задачи мы решаем во время тестирования.

    Задача первая, главная и основная: пройти всю логику программы, поработать во всех режимах, использовать все функции во всевозможных условиях и в самых разнообразных окружениях. Сюда входят не только особенности применяемого компьютерного «железа», но и многое другое: операционная система, настройка локализации (национальных и региональных особенностей применения), скорость подключения к Сети (как локальной, так и Интернет)… Всего не перечислишь, но это чрезвычайно важно – чтобы в дальнейшем можно было одной фразой сказать, что «оно работает на всем, что доступно». И чтобы этой фразе поверили.

    Задача вторая, но от этого не менее важная: проходя логику, отрабатывать абсолютно все возможные варианты последовательности действий, абсолютно все «маршруты» достижения результата. То есть не «прогнать программу до конца», а воспользоваться всеми заявленными возможностями и убедиться – выполняет программа заявленные функции, или не выполняет. В конечном счете, чтобы заявить, что «оно делает все, что должно».

    Третья задача, по степени важности и ответственности не отстающая от первых двух: строго следуя отработке всех функций и всевозможных вариантов использования, аккуратно фиксировать все ситуации, маршруты, наборы входных данных, сообщения программы и прочее – для того, чтобы с уверенностью можно было утверждать, что «оно не делает ничего такого, чего не должно».

    Вот такие три задачи. Или «триединая задача тестирования». Коммунизма мы тут не построим, но к поставленным целям – приблизимся. А больше нам ничего и не надо.

    Об инструментах и методах

    Теперь, когда мы определились и с целями, и с задачами, надо договориться о методах и средствах для их достижения/решения.

    Тестируя программу, никогда не следует поддаваться соблазну взять да и потыкать кнопки, погонять все и сразу, только для того, чтобы убедиться – эта программа «всосала» мои данные, нарисовала мне пару-тройку таблиц, чего-то там посчитала и при этом ни разу не «свалилась» и не «зависла». Тем более, что такое жаргонное использование привычных слов по отношению к миру программ – просто переворачивание привычного «с ног на голову». В обычном мире слово «умерла» означает – все, кончилась. Прекратила всякую жизнедеятельность. А для программы – она живее всех живых, она забрала на себя все ресурсы процессора, она «шуршит» диском непрерывно, не оставляя другим программам шанса хоть чего-то урвать себе от предоставляемых компьютером и операционкой ресурсов. Привычное слово «встало» большинство воспринимает как приведение в полную готовность того, чем сейчас будут втыкать, ковырять, долбить или наворачивать. А программа, которая «встала» – просто оказалась не готова к дальнейшей работе. То есть скорее «легла»… Хотя и здесь есть варианты…

    К чему это я? А все к тому же, к инструментам и методам.

    Основным инструментом тестировщика является его родной язык. Формулируя на нем (и только на нем!) описания ситуаций, маршруты действий, корректность вычислений и полноту отработки функций, он не должен скатываться в жаргон, как бы этого ни хотелось. Описания следует делать в законченной (хотел сказать – литературной) форме. По возможности – не допускающей двоякого понимания и побочного истолкования.

    Второй инструмент – это средство фиксации фактов. Точно записывать ход выполнения, сообщения программы, сохранять настройки, «фотографировать» формы по результатам выполнения шагов. Кстати, нажатие Ctrl+Alt+PrtScr в Windows обычно копирует в буфер обмена изображение активного окна. Изображение всего экрана копируется в буфер обмена по нажатию Ctrl+Shift+PrtScr. А вставить из буфера в письмо - вообше элементарно, Ctrl+V или Shift+Ins. Важно: не путать буквы в описании команд, меню и кнопок. Точность – вежливость королей. Попробуйте, побудьте королями хоть недолго. Вам понравится.

    Методов у тестировщика всего два. Поэтому освоить их и успешно применять сможет любой, кто проникся целями и задачами, про которые шел рассказ чуть раньше.

    Метод первый: работа с документацией. Нужно скрупулезно и настойчиво проверять, все ли важное для работы описано в документации. Нет ли «пропущенных» мест, отсутствие которых препятствует пониманию логики и условий работы программы. Нет ли логических ошибок, опечаток или просто неправильных описаний, из-за которых человек может совершать неверные шаги при работе (или вовсе не совершать необходимых действий).

    Метод второй: работа с программой. Не надо слепо доверять программе, которая «что-то там делает». Надо проверять – в меню написано так-то, в документации это определено так-то. А в результате? Что я вижу на экране? Что произошло с моими данными? Есть ли невязки между тем, что должно быть, и тем, что на самом деле произошло? Попробовать «загнать программу в угол» – не самое главное, но это тоже необходимо. Если удастся выявить и зафиксировать, а потом еще и воспроизвести ошибочные ситуации, в которые программа позволяет себя загнать действиями пользователя – это удача. Не найденный в густой воде речки Яузы золотой самородок, но все же. Каждая такая выявленная во время тестирования ситуация позволит вовремя внести исправления в код программы, что сделает ее более надежной. Значит, другие будут меньше ожидать «подвохов» от программы в сложных ситуациях. То есть – будут меньше психовать. Заодно не так часто станут искать виноватых среди программистов. А душевное здоровье в наше время дорогого стоит, да.

    О «черном ящике»

    Тестировщики получают не исходные тексты программы, а уже готовый, откомпилированный код в виде исполняемого файла. Они не могут «заглянуть» внутрь, и разобраться – что там наворочено в логике работы, какие условия проверяются, какие ситуации игнорируются. И я считал, считаю и буду считать – это правильно. Так и должно быть. Потому как прямой доступ к исходному коду вызывает соблазн при обнаружении первой же ошибки тут же «полезть внутрь» и сразу чего-то там наскоро переписать. Переписывая одно, неизбежно затронешь другое. Исправление одной ошибки наспех и без необходимого анализа взаимосвязей в системе приведет лишь к появлению новых ошибок. Я видел много программистов (и сам грешен, не скрою), которые из-за «мании последней поправки» ломали уже почти до конца доведенную логику работы сложных систем. В результате месяцы и годы работы просто «шли в помойку». Поэтому, как мантру, тестировщику надо заучивать: «Я не знаю, ошибка это или нет. Я лишь могу свериться с описанием, зафиксировать разницу между написанным и произошедшим, и донести ее до разработчика». А потом, после внесения исправлений и выпуска новой версии – опять проверить ее на «знакомых местах», чтобы убедиться в отсутствии выявленных ранее несоответствий.

    О наблюдательности

    Это уже совсем просто. Глядя на экран или на распечатку, надо стараться держать глаз «не замыленным» от неоднократного разглядывания все того же во время предыдущих запусков программы. Не надо уверять себя в том, что оно должно происходить именно так, как происходит. Живой пример: при отладке именно этой программы трое человек «прозяпали» очевидный эффект пропадания русских букв в именах и географических названиях. И я в том числе. Спасибо, в нашей команде появился четвертый участник, который ткнул меня носом в этот очевидный «косяк». Теперь это поправлено, но мы еще долго будем вспоминать, как не замечали самого очевидного, привыкнув уже к пользовательскому интерфейсу в его внешнем изображении. Привыкнув до того, что перестали читать показываемое на экране. Такие дела.

    Об аккуратности

    Аккуратность, аккуратность и еще раз аккуратность. Никогда не начинать тестирование, не положив перед собой листок бумаги для заметок. Почему листок, а не открытый документ в компьютерном редакторе? Да потому, что листок с карандашом не могут внезапно «зависнуть». То есть вы всегда сможете записать необходимое, невзирая на жизнедеятельность компьютера и жизнеспособность запущенных программ. А записывать надо, причем много. Возьмите за правило: сначала записывать шаги, которые вы хотите выполнить, и лишь потом их выполнять. А выполняя – отмечать, какие прошли нормально, а какие – нет. Что такое в этом контексте «нет» – ну, мы говорили об этом раньше, посмотрите «Об инструментах и методах»…

    Кому это нужно? Кому это выгодно?

    Это и нужно, и выгодно – вам, прежде всего. Потому как разработчик уйдет, а программа останется. И, насколько успешно проведено тестирование, определит – будет ли программа многолетним надежным помощником в вашей жизни, или отойдет в небытие, оставив вас, как и раньше, наедине со своими проблемами. А во время проведения тестирования у вас, и именно у вас есть уникальная возможность повлиять на исходную постановку задачи, тесно сотрудничая с разработчиком, в конце концов, вместе создать инструмент, который будет удобным, полезным, надежным… да и просто красивым, в конце-то концов. Ведь иметь под рукой красивую вещь – само по себе удовольствие. Ну, и возникающее самоощущение того, что довелось «постоять у истоков»…

    Здесь мы говорим о нашем хобби. Но разве мы согласимся променять то душевное успокоение и чувство насыщенной интересной жизни, получаемое от него, на нервотрепку и переживания всего лишь из-за какой-то программы, вовремя не «доведенной до ума»?

    Вот такими мыслями я хотел сегодня поделиться. Наверное, получилось не очень коротко. Вы не соскучились, читая? Не утомились? Сегодня я старался донести до вас главное - в этом проекте многое начинает зависеть от вас. И одновременно - вы можете на многое повлиять. Давайте не упускать такие возможности, не так часто они в нашей жизни возникают...

    ...Пойду-ка я перекурю трубку. Хотя и вредно, и всё такое... А вы - поразмыслите...

  4. #19
    Администратор Аватар для RW3DY
    Регистрация
    10.02.2006
    Адрес
    Истра, Мос.обл.
    Возраст
    58
    Сообщений
    5,432
    Поблагодарили
    2007
    Поблагодарил
    5784
    Цитата Сообщение от R2ADF Посмотреть сообщение
    Всем этим людям по тем адресам, которые они использовали для переписки, направлено письмо с описание порядка и условий проведения бета-тестирования.
    Непонятно зачем дублировать здесь?

  5. #20
    Радиолюбитель Аватар для R2ADF
    Регистрация
    24.04.2015
    Адрес
    Москва
    Сообщений
    152
    Поблагодарили
    56
    Поблагодарил
    4
    В помощь бета-тестерам и интересующимся.

    Описание подмножества ADIF, используемого программой.
    CheckLog ADIF usage.docx

    Посмотрите, в случае отказов в загрузке файлов экспорта в ADIF - возможно, используются поля, не входящие в подмножество. В таком разе - будем поправлять...

  6. #21
    Радиолюбитель Аватар для R2ADF
    Регистрация
    24.04.2015
    Адрес
    Москва
    Сообщений
    152
    Поблагодарили
    56
    Поблагодарил
    4
    В помощь бета-тестерам и интересующимся.

    Список поддерживаемых диапазонов и их границ.
    Bands.docx

    Будет использоваться при валидации данных ADIF и коррекции ошибок и "выпадов". Пожелания о расширении принимаются.

  7. #22
    Радиолюбитель
    Регистрация
    16.01.2009
    Адрес
    Varna
    Возраст
    49
    Сообщений
    160
    Поблагодарили
    56
    Поблагодарил
    139
    Цитата Сообщение от R2ADF Посмотреть сообщение
    Список поддерживаемых диапазонов и их границ.
    Нет диапазона 60 м. В Болгарии разрешено 5.250 - 5.450 МГц, не знаю как в других странах.

  8. #23
    Координатор темы
    Регистрация
    01.07.2011
    Адрес
    Днепропетровск
    Возраст
    52
    Сообщений
    1,557
    Поблагодарили
    1208
    Поблагодарил
    107
    Цитата Сообщение от LZ4BU Посмотреть сообщение
    Нет диапазона 60 м.
    Наверно лучше список диапазонов и границ вынести в отдельную таблицу с возможностью редактирования, не у всех совпадают выделенные участки и разрешённые диапазоны.

  9. #24
    Радиолюбитель Аватар для R2ADF
    Регистрация
    24.04.2015
    Адрес
    Москва
    Сообщений
    152
    Поблагодарили
    56
    Поблагодарил
    4
    Цитата Сообщение от LZ4BU Посмотреть сообщение
    Нет диапазона 60 м. В Болгарии разрешено 5.250 - 5.450 МГц, не знаю как в других странах.
    Цитата Сообщение от US-E-12 Посмотреть сообщение
    Наверно лучше список диапазонов и границ вынести в отдельную таблицу с возможностью редактирования, не у всех совпадают выделенные участки и разрешённые диапазоны.
    Наверное. Но пока выносить не буду. Причина проста - это не таблица запретов на излучение, а вовсе даже справочник, что подставлять при "выпадении" данных в логе. Если в логе данные присутствуют - то эта таблица "мимо тазика". Лог первичен.

    А таблицу заменил, спасибо.

  10. #25
    Радиолюбитель Аватар для R2ADF
    Регистрация
    24.04.2015
    Адрес
    Москва
    Сообщений
    152
    Поблагодарили
    56
    Поблагодарил
    4
    В помощь бета-тестерам и интересующимся.

    Соответствие поддерживаемых в CheckLog модуляций и значений <MODE> в ADIF.
    Modes.docx

    Импортируемые данные могут иметь любую моду. Однако при расчете статистик программой будут восприниматься как значимые только перечисленные (Mode и Submode - по первым двум колонкам таблицы документа).

  11. #26
    Радиолюбитель Аватар для R2ADF
    Регистрация
    24.04.2015
    Адрес
    Москва
    Сообщений
    152
    Поблагодарили
    56
    Поблагодарил
    4
    Уважаемые читатели.

    Меня тут в мягкой, но непреклонной форме попросили максимально сократить публикуемые тексты.

    Давайте проведем опрос: кого интересует подробная информация, а кому просто больше зайти некуда.
    Если мои инструкции (а их можно критиковать за неполноту) и лекции не интересны - так тому и быть.
    Прошу высказаться, пока нас тут всех не поудаляли.

  12. #27
    Радиолюбитель Аватар для UA3LLS
    Регистрация
    20.06.2014
    Адрес
    Десногорск
    Возраст
    40
    Сообщений
    520
    Поблагодарили
    137
    Поблагодарил
    902
    Тут, действительно, сложно дать ответ устраивающий всех. Ваши портянки стоит, хотя бы прятать под спойлер, если это устроит админов сайта. Если этого решения будет недостаточно, что излишне, то - только ссылки на сторонние ресурсы.

  13. #28
    Радиозуламхо Аватар для RU3YAA
    Регистрация
    14.12.2013
    Адрес
    Климово
    Возраст
    49
    Сообщений
    1,625
    Поблагодарили
    689
    Поблагодарил
    3667
    Антиресно получается: в ветке "Юмор" никто не просит некоторых "товарищей" тексты на ...цать страниц, кстати, совсем несмешных и неинтересных, содранных со всяких помоек интернетных, скрывать под спойлер или вообще некопипастить их. А тут...
    Неужели кто-то кого-то заставляет сюда заходить и читать всё от начала до конца? А если не зайдёт и не прочитает, то премии лишают?

  14. #29
    Радиолюбитель Аватар для UA3LLS
    Регистрация
    20.06.2014
    Адрес
    Десногорск
    Возраст
    40
    Сообщений
    520
    Поблагодарили
    137
    Поблагодарил
    902
    Цитата Сообщение от RU3YAA Посмотреть сообщение
    Антиресно получается: в ветке "Юмор"
    Мну в юмор портянки не ронял. Просто предложил решение. Не устраивает никого - в топку.

    P.S. Вам принципиально невозможно нажать "спойлер"? Религия?

  15. #30
    Радиозуламхо Аватар для RU3YAA
    Регистрация
    14.12.2013
    Адрес
    Климово
    Возраст
    49
    Сообщений
    1,625
    Поблагодарили
    689
    Поблагодарил
    3667
    Не, абсолютно не принципиально. Сам постоянно [ Spoiler ] [/Spoiler] рисую, когда не по теме что-то пишу. Но других это не заставляю делать. Не модератор я.

    P. S. Предыдущее сообщение не к вам было адресовано, а к тем, кто раньше недовольство по текстам автора топика высказывал.

Похожие темы

  1. Ответов: 188
    Последнее сообщение: 09.01.2018, 19:53
  2. Радиостанции со дна Баренцева моря
    от RA3CC в разделе История радиосвязи
    Ответов: 3
    Последнее сообщение: 08.08.2017, 17:05
  3. Ответов: 35
    Последнее сообщение: 21.07.2017, 13:48
  4. Детский Радиолюбительский слёт .
    от RT5C в разделе Коллективы
    Ответов: 4
    Последнее сообщение: 24.05.2017, 08:40
  5. Журналы Радио 1946-2008
    от SDRVPN в разделе Около...р.л. беседы
    Ответов: 11
    Последнее сообщение: 16.05.2017, 08:50

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×
Рейтинг@Mail.ru
eXTReMe Tracker
Яндекс.Метрика