Первичное тестирование программы

  Назад   Содержание   Вперед


     Итак имеем ситуацию, когда основная часть программы написана. Теперь необходимо провести первичное тестирование программы. Первичное тестирование проводится для:
1. Выявления и устранения ошибок в программных алгоритмах. То есть, проверяется отсутствие "зависаний" в работоспособности программы. На самом деле, данная работа, производится постоянно, при каждой компиляции программного кода. На конечном этапе, данная работа проводится с целью выявления проблем, связанных с взаимодействием различных блоков программы.
2. Проверки правильности работы вычислительных модулей программы. Если, в программе, предусмотрено вычисление каких либо величин, необходимо создать рад проверочных задач, которые Вы первично просчитываете сами, а затем прогоняете через программу. При совпадении результатов, можно считать, что вычислительные алгоритмы, написаны правильно. 
     Первичное тестирование программы, проводится всей группой лиц, которые занимаются разработкой проекта. Порядок проведения тестирования следующий:
1. Программисты, которые разработали программный код, производят первичную инсталляцию на ПЭВМ. При этом, необходимо учитывать необходимость проверки работоспособности программы, при ее использовании в различных операционных системах. Проблема работоспособности программы в различных операционных системах, возникает, если вы используете вызов функций API операционной системы. Соответственно, требуется установка программы под несколько операционных систем. Так как большинство пользователей, работают с различными модификациями Windows. Целесообразно произвести проверку работоспособности программы для Windows 9X, Millenium, XP, NT 4.0, Windows 2000.
2. Группа лиц, занимающаяся разработкой программы, проводит тестирование. Тестирование состоит в изучении возможностей программы, устойчивости ее работы и удобности интерфейсных элементов. Программисты, которые разработали программный код, дают необходимые пояснения и комментарии по работе программы. Все возникшие замечания и предложения, вопросы и ответы - записываются.
3. Производится обсуждение (пример результатов обсуждения) наработанного материала, в части замечаний и предложений, вопросов и ответов. Цель обсуждения: выделить проблемные места программы и затем провести их устранение.
Пример первичного тестирования:
     В программе "Миссия: Найди свою дорогу!", существует тест Кеттелла 16PF, в котором производится вычисление параметров личности. Для проверки правильности вычислений, были составлены три тестовых расчета. Первый расчет проверял правильность вычислений на лживость. Следующий тестовый расчет выдавал нулевые значения, для каждого параметра теста. Последний тестовый расчет выдавал для лживости значение в четыре стена, а для остальных параметров, максимально возможные значения. Было проведено введение тестовых заданий в тест Кеттелла 16PF, которые дали правильный результат. Соответственно, можно считать, что реализованный механизм расчетов, работает правильно.
     В тесте Кеттела 16PF заложен механизм отключения тестирования, при превышении отпущенного на тест времени (30 минут). Для этого используется компонент LMDClock1: TLMDClock, который обеспечивает контроль за временем. Однако, была выявлена ошибка, которая приводила к запуску звукового сигнала в не зависимости от того, правильно ли завершена работы по опросу пользователя. При открытии формы опроса, происходило присвоение времени прекращения опроса и включение свойства выдачи предупреждения. Смотри код процедуры открытия формы опроса:
procedure TForm1.FormShow(Sender: TObject);
Var hour, min, sec, ms:Word;
begin
  DecodeTime(Now,hour,min,sec,ms);
  If min>29 then begin
    hour:=hour+1;
    min:=min-30;
  end
  Else begin
    min:=min+30;
  end;
  LMDClock1.Alarmtime:=Date+EnCodeTime(hour,min,sec,ms);
  LMDClock1.Mode:=cmAlarm;
  CustomerData.Table4.Locate('Имя',PasswordDlg.Edit1.Text,[loCaseInsensitive]);
end;

Однако, в процедуре закрытия формы, не производилось выключение выдачи предупреждения, как следствие, не зависимо от корректности завершения теста (пользователь ответил на все вопросы и уложился в 30 минут), происходила выдачи звуковой тревоги (через 30 минут после инициализации формы опроса). Для устранения данного глюка, пришлось изменить процедуру закрытия формы опроса:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  LMDClock1.Mode:=cmNormal;
end;

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

  Назад   Содержание   Вперед

 

01.09.2002