Лабораторна робота №5 з дисципліни "Інформаційні технології розробки пз" хаі. 603. 632Пст. 13О. 050103. 116336 Виконав студент - shikardos.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Лабораторна робота №5 з дисципліни "Інформаційні технології розробки пз" хаі. 603. - страница №1/1

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Національний аерокосмічний університет ім. М.Є. Жуковського “ХАІ”

Кафедра інженерії програмного забезпечення

Лабораторна робота №5

з дисципліни “Інформаційні технології розробки ПЗ”

ХАІ.603.632ПСТ.13О.050103.116336

Виконав студент Гр. 632 п.с.т. Мотрюк А.В.


Перевірив асистент, Кузнецова Ю. А.

2013

Использование средств прототипирования, mock-фреймворки.

Цель работы: Научиться разрабатывать макеты классов, реализуя интерфейсы классов мок-объектами. Научиться использовать прототипы классов в модульном тестировании. Понять роль модульного тестирования в процессе непрерывной интеграции проекта.

Задание


  1. Для модифицированных классов из предыдущей лабораторной работы написать классы-прототипы с применением Moq библиотеки, последнюю версию которой можно скачать с сайта: http://code.google.com/p/moq/downloads/list или использовать любую другую привычную библиотеку.

  2. Тестировщикам:

    1. Обновить проект из репозитория до актуальной версии;

    2. Выбрать, какие методы классов нуждаются в тестировании и определить набор входных параметров.

    3. Создать пустые модульные тесты на выбранные методы.

    4. Залить проект на сервер и дождаться пока программисты создадут в тестовых методах классы обёртки.

    5. Обновить проект из репозитория до актуальной версии;

    6. Дописать изменённые программистами тесты с учётом входных параметров.

    7. Запустить тесты на выполнение.

    8. Составить отчёт о тестировании.

  3. Составить отчёт.

Состав команды


Тимлид – Нуржанов Александр Николаевич

Разработчик – Мальцев Евгений Сергеевич

Тестировщик – Мотрюк Анатолий Викторович

Наблюдатель – Кузнецова Юлия Анатольевна


Ход выполнения работы


Рисунок 1 – Тикеты

Проанализировав классы проекта, пришел к выводу, что необходимо протестировать методы класса Deck.as (Колода), а именно метод shuffleDeck(). Метод shuffleDeck() предназначен для тасования колоды.

Листинг класса Deck.as представлен ниже.


Deck.as


package com.esmalt.games.blackjack.model

{

// хранит в себе колоду карт



public class Deck implements IDeck

{

private static const DENOMINATIONS: String = "23456789TJQKA";



private static const SUITS: String = "SHDC";

private static const DECKS_COUNT_IN_GAME: int = 4;

private static const MIN_COUNT_CARD_IN_DECK: int = 15;

private var cards: Array;



public function Deck()

{

init();



}

//вызывает инициализацию

private function init(): void

{

cards = [];



for(var i: int = 0; i < DECKS_COUNT_IN_GAME; i++)

{

initOneInstanceOfDeck();



}

shuffleDeck();

}

//заполнение колоды



private function initOneInstanceOfDeck(): void

{

for (var i: int = 0; i < DENOMINATIONS.length; i++)



{

for (var j: int = 0; j < SUITS.length; j++)

{

var card: CardModel = new CardModel();



card.denominaton = DENOMINATIONS.charAt(i);

card.suit = SUITS.charAt(j);

if(i > 7)

{

card.weight = 10;



}

else

{

card.weight = int(DENOMINATIONS.charAt(i));



}

cards[cards.length] = card;

}

}

}



// тасование колоды

private function shuffleDeck(): void

{

for(var i: int; i

{

var tempDeck: Array =[];

while(cards.length > 0)

{

var randomIndex: int = Math.floor(Math.random() * cards.length);



tempDeck.push(cards[randomIndex]);

cards.splice(randomIndex, 1);

}

cards = tempDeck;



}

}

// взять текущую карту



public function getCurrentCard(): CardModel

{

if(hasNecessaryCardsCount())



{

var currentCard: CardModel = cards[cards.length-1];

cards.splice(cards.length-1, 1);

return currentCard;

}

}

//  позволяет ли текущее коилчество карт в колоде взять карту hasNecessaryCardsCount



public function hasNecessaryCardsCount(): Boolean

{

if(cards.length > MIN_COUNT_CARD_IN_DECK)

{

return true;



}

return false;



}

}

}



Входные параметры


Входными параметрами для метода shuffleDeck() текущего класса является вызов самого метода.

Выходные параметры


Выходным параметром метода shuffleDeck() является массив cards, который содержит тасованную колоду карт.

Вывод:

В ходе выполнения лабораторной работы для тестирования был выбран метод shuffleDeck(), предназначен для тасовки карт. Для выбранного метода были определены входные и выходные параметры.