zabika.ru 1

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)


ТЕСТИРОВАНИЕ ПРОГРАММНЫХ СРЕДСТВ

ЛАБОРАТОРНАЯ РАБОТА №3




ОТЧЕТ



Выполнили: студенты группы ВЕ-11-04

Дагесян А. А.,

Акимов А. А.

Руководитель:

Басок Б.М.


Москва, 2008

Задание

Вариант 12.4.6


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

Описание объектов тестирования


Объектами тестирования являются два текстовых файла и встроенный текстовый редактор Windows.

Программа «Блокнот»


Блокнот (англ. Notepad) — простой текстовый редактор, являющийся частью операционных систем Microsoft Windows, начиная с вышедшей в 1985 году Windows 1.0, и Windows NT.

Блокнот использует оконный класс EDIT. Вплоть до вышедшей в 2000 году Windows Me поддерживались только самые базовые функции, многие функции были доступны только из меню, и максимальный размер файла составлял 64 килобайт (предел класса EDIT). В настоящее время редактор поддерживает контекстную замену, горячие клавиши (например, Ctrl-S для сохранения файла), снят предел в 64Кбайт и добавлена поддержка Юникода.

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


В соответствии с заданием разработан скрипт 12.4.6.mst, открывающий с помощью блокнота файлы inp.txt и cmp.txt, получающий и обрабатывающий содержащуюся в них информацию. Первый файл является входным. В нем, по заданию, среди прочей информации содержатся целые положительные числа. Второй файл содержит только числа из первого файла.

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

Список тестов


Первый файл

Второй файл

Результат

34

12 345 ghr 345fr jhbhw wjhj 677gh tg555 667

667 12 345

34

PASS

34

12 345 ghr 345fr jhbhw wjhj 677gh tg 555 667

667 12 345

34

Во втором файле нет некоторых чисел из первого

34

12 345 ghr 345fr jhbhw wjhj 677gh tg555 667

667 12 345

34 tg555

Лишние числа или символы во втором файле

34

12 345 ghr 345fr jhbhw wjhj 677gh tg555 667

667 555 12 345

34

Лишние числа или символы во втором файле <555>


Исходный код


Scenario "compare"
Viewport Clear


Sleep 0.1
DIM inp$, out$

DIM StringVar$

DIM onechr$, strs$, newword#, nums#, nums2#, i#, eq#

DIM First(100) AS STRING
Run "notepad.exe Z:\TPO\FHEN\inp", NOWAIT

CurrentWindow = WFndWndC("inp - Блокнот", "Notepad", FINDWINDOWFLAGS_IF, Timeout)

ResultEdit = WEditFind("@1")

inp = GetText(ResultEdit) + " "

sleep 1

play "%({F4})"
sleep 1
Run "notepad.exe Z:\TPO\FHEN\cmp", NOWAIT

CurrentWindow = WFndWndC("cmp - Блокнот", "Notepad", FINDWINDOWFLAGS_IF, Timeout)

ResultEdit = WEditFind("@1")

out = GetText(ResultEdit) + " "


sleep 1

Play "%({F4})"


nums = 0

newword = 1

strs = ""

for i=0 to len(inp)

'print i

onechr = MID(inp, i+1, 1)

if (onechr >= "0") and (onechr <= "9") and newword then

strs = strs + onechr

else

if onechr = " " or onechr = CHR(13) or onechr = CHR(10) then

if not (strs = "") and newword then

nums = nums + 1

First(nums) = strs

strs = ""

end if

newword = 1

else

newword = 0

strs = ""

end if

end if

next i

'for i=1 to nums

' print first(i)

'next i
nums2 = 0

strs = ""
for newword=0 to len(out)

onechr = MID(out, newword+1, 1)

if onechr = " " or onechr = CHR(13) or onechr = CHR(10) then

if not (strs = "") then

eq = 1

for i=1 to nums

if (First(i) = strs) and eq then

First(i) = ""

eq = 0

nums2 = nums2+1

' print strs

end if

next i

if eq then

Fail "Лишние числа или символы во втором файле <" + strs + ">"

endif

end if

strs = ""

else

strs = strs + onechr

end if

next newword
if NOT(nums2 = nums) then

Fail "Во втором файле нет некоторых чисел из первого"

endif

End Scenario