Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_4.doc
Скачиваний:
9
Добавлен:
12.02.2016
Размер:
4.24 Mб
Скачать

1 4 2 3

1 2 3 1 4 2 3

  1. Connection – компонента типу TADOConnection призначена для встановлення зв’язку з базою даних;

  2. SurveysDataSource – компонента типу TDataSource, яка виконує роль джерела даних тестувань та опитувань думки;

  3. SurveysStoredProc – компонента типу TADOStoredProc, призначена для виклику збережуваних процидур орієнтованих на завантаження тестувань та опитувань з бази;

  4. ActionStoredProc – компонента типу TADOStoredProc, призначена для виклику збережуваних процидур орієнтованих на додавання, редагування та видалення даних з бази.

Код:

type

TDataModule1 = class(TDataModule)

Connection: TADOConnection;

ActionStoredProc: TADOStoredProc;

SurveysStoredProc: TADOStoredProc;

SurveysDataSource: TDataSource;

private

{ Private declarations }

public

{ Public declarations }

end;

  1. Попередній план тестування системи.

У процесі розробки даного програмного продукту було виявлено деякі важливі області, які необхідно уважно протестувати з метою виявлення всіх недоліків та помилок. Оскільки Клієнт 1 і Клієнт 2 системи мають подібну структуру, їхні важливі області теж певною мірою збігаються. Далі наводиться список всіх важливих областей:

  1. Першою важливою областю є класи, які виконують операції з базою даних, а саме класи модулів: AccountManagerDAL, ReportBuilderDAL і SurveyBuilderDAL (Клієнт 1); і класи модуля: SurveyDAL (Клієнт 2); які працюють з базою даних за допомогою компонент модуля DataModule. У випадку неправильного функціонування одного з цих класів, може відбутися втрата даних, що в свою чергу призведе до некоректної роботи або й краху системи. Дані класи тестуватимуться шляхом перевірки коретності роботи їх методів; для кожного методу задаватимуться певні вхідні параметри і перевірятимется результати їх виконання.

Детальний опис даної вжливої області наведений нижче, окремо для Клієнта 1 і Клієнта 2.

Клієнт 1:

Модуль AccountManagerDAL:

  • TUsersDAL.В даному класі тестуватимуться методи необхідні для роботи з користувацькими записами системи: GetRoleId, GetFreeUserId, IsInLogin, IsInUserId, AddUser, UpdateUser, DeleteUser, GetUsers, GetUsersById, GetUsersByName, GetUsersByLogin, GetUsersByPassword, GetUsersByRoleId, GetUsersByGroupId. У випадку неправильної роботи методів цього класу можуть виникати проблеми з функціями управління користувацькими записами системи, такими як: створення, видалення, редагування користувацьких записів та ін.. Також помилки у цьому класі можуть призвести до втрати або спотворення даних про користувачів.

Опис нормальної роботи методів

Назва методу

Значення параметрів

Результат виконання

GetRoleId

IsInLogin

AddUser

UpdateUser

DeleteUser

GetUsers

GetUsersByRoleId

GetUsersByGroupId

Login: <логін користувача>

Password: <пароль>

Login: <логін користувача>

UserId: <ID користувача>

FullName: <ім’я користувача>

Login: <логін користувача>

Password: <пароль>

RoleId: <ID ролікористувача>

UserId: <ID користувача>

FullName: <ім’я користувача>

Login: <логін користувача>

Password: <пароль>

RoleId: <ID ролі користувача>

UserId: <ID користувача>

-------------------

RoleId: <ID ролі користувачів>

GroupId: <ID групи >

RoleIdкористувача:

1 – адміністратор;

2 – вчитель;

3 – студент;

0 – у випадку відсутності користувача в базі.

1 – користувач з таким логіном існує;

0 – користувач з таким логіном не існує.

Добавлення користувацького запису в базу з відповідними даними.

Обновлення відповідного користувацького запису.

Видалення користувацького запису, з відповідним ID,з бази.

Список всіх користувацьких записів.

Список всіх користувацьких записів відповідного типу.

Список всіх користувацьких записів що належать до групи з відповідним ID.

  • TGroupsDAL.В цьому класі тестуватимуться методи необхідні для роботи з групами користувачів системи, такі як: GetFreeGroupId, IsInGroupId, IsInName, AddGroup, UpdateGroup, DeleteGroup, AddUserToGroup, DeleteUserFromGroup, GetGroupsByName, GetGroupsByUserId, GetGroupsById. У випадку несправності методів цього класу можуть виникати проблеми з функціями управліннями групами користувачів, такими як: створення, видалення, редагування груп, а також добавлення та видалення користувачів з групу. Також помилки у цьому класі можуть призвести до втрати або спотворення даних бази, які стосуються груп.

Опис нормальної роботи методів

Назва методу

Значення параметрів

Результат виконання

IsInName

AddGroup

UpdateGroup

DeleteGroup

GetGroupsByUserId

Name: <назва групи>

GroupId: <ID групи>

Name: <назва групи>

GroupId: <ID групи>

Name: <назва групи>

GroupId: <ID групи>

UserId: <ID користувача>

1 – група з таким іменем існує;

0 – група з таким іменем не існує.

Добавлення групи базу з відповідними даними.

Обновлення імені групи з відповідним ID.

Видалення групи за вказаним ID.

Список груп до яких належить користувач з заданим ID.

Модуль ReportBuilderDAL:

  • TReportDAL– В даному класі тестуватимуться методи, необхідні для роботи зі звітами системи:CreateSurveyReport,CreateTestReport,GetUserTestResults. У випадку неправильної роботи методів цього класу можуть виникати проблеми з функціями управління користувацькими записами системи, такими як: створення, видалення, редагування користувацьких записів та ін.. Також помилки у цьому класі можуть призвести до втрати або спотворення даних про користувачів.

Опис нормальної роботи методів

Назва методу

Значення параметрів

Результат виконання

CreateSurveyReport

CreateTestReport

GetUserTestResults

SurveyName: <назва опитування>

TestName: <назва тестування>

UserId: <ID користувача>

Створення звіту для заданого опитування.

Створення звіту для заданого тестування.

Результат тесту заданого користувача.

Модуль SurveyBuilderDAL:

  • TSurveyDAL– В цьому класі тестуватимуться методи призначені для роботи зі списками тестувань та опитувань: IsInName,LoadSurvey,SaveSurvey, UpdateSurvey, DeleteSurvey, GetSurveysByUserId, GetSurveysByGroupId. У випадку неправильної роботи методів цього класу можуть виникати проблеми завантаженням, збереження і видаленням тестувань та опитувань з бази. Також помилки у цьому класі можуть призвести до втрати інформації, яка стосується тестувань та опитувань.

Опис нормальної роботи методів

Назва методу

Значення параметрів

Результат виконання

IsInName

LoadSurvey

SaveSurvey

UpdateSurvey

DeleteSurvey

GetSurveysByUserId

GetSurveysByGroupId

Name: <назва опитування / тестування >

SurveyId: <ID опитування / тестування>

Survey: <об’єкт опитування / тестування >

Survey: <об’єкт опитування / тестування >

SurveyId: <ID опитування / тестування>

UserId: <ID користувача>

GroupID: <ID групи>

1 – опитування /тестування з таким іменем існує;

0 – опитування/тестування з таким іменем не існує.

Об’єкт TSurvey відповідного тестування/опитування.

Збереження тестування/опитування до бази.

Обновлення тестування/опитування в базі.

Видалення тестування/опитування з бази.

Список тестувань та опитувань доступних користувачу з заданим ID.

Список тестувань та опитувань доступних групі користувачів з заданим ID

  • TSurvey– В цьому класі тестуватимуться методи призначені для створення тестувань та опитувань, і їх збереження у вигляді об’єкта (екземпляра даного класу):CreateSurvey,AddQuestion,GetQuestions,DeleteQuestion. У випадку неправильної роботи методів цього класу можуть виникати проблеми зі створенням тестувань та опитувань.

Опис нормальної роботи методів

Назва методу

Значення параметрів

Результат виконання

CreateSurvey

AddQuestion

GetQuestions

DeleteQuestion

----------------

Question: <стрічка питання>

----------------

QuestionId: <ID запитання>

Створення об’єкта TSurvey.

Додавання запитання до опитування/тестування.

Список запитань.

Видалення запитання з заданим ID.

Клієнт 2:

Модуль SurveyDAL:

  • TSurveyDAL– В даному класі тестуватимуться методи призначені для завантаження та відтворення списків тестувань та опитувань, а також збереження користувацьких відповідей до бази даних:LoadSurvey, SaveSurveyAnswers, GetSurveysByUserId, GetSurveysByGroupId. Несправність цих методів може призведе до спотворення користувацьких відповідей, а також до невірного відтворення списків тестувань та опитувань в клієнті.

Опис нормальної роботи методів

Назва методу

Значення параметрів

Результат виконання

LoadSurvey

SaveSurveyAnswer

GetSurveysByUserId

GetSurveysByGroupId

SurveyId: <ID опитування / тестування>

SurveyAnswer: <об’єкт опитування / тестування >

UserId: <ID користувача>

GroupID: <ID групи>

Об’єкт TSurvey відповідного тестування/опитування.

Збереженнярезультатів тестування/опитування до бази.

Список тестувань та опитувань доступних користувачу з заданим ID.

Список тестувань та опитувань доступних групі користувачів з заданим ID.

  • TSurvey– В цьому класі тестуватимуться методи для створення тестувань та опитувань та їх збереження у вигляді об’єкта (екземпляра даного класу):CreateSurvey, AddQuestion, GetQuestions, DeleteQuestion. У випадку неправильної роботи методів цього класу можуть виникати проблеми з відтворенням тестувань та опитувань в клієнті.

Опис нормальної роботи методів

Назва методу

Значення параметрів

Результат виконання

CreateSurvey

AddQuestion

GetQuestions

----------------

Question: <стрічка питання>

----------------

Створення об’єкта TSurvey.

Додавання запитання до опитування/тестування.

Список запитань.

  • TSurveyAnswers– В цьому класі тестуватимуться методи для збереження відповідей на питання тестувань та опитувань у вигляді об’єкта (екземпляра даного класу):CreateSurveyAnswers,AddAnswer. У випадку неправильної роботи методів цього класу можуть виникати проблеми зі збереженням відповідей користувачів на тестування і опитування.

Опис нормальної роботи методів

Назва методу

Значення параметрів

Результат виконання

CreateSurveyAnswer

AddAnswers

----------------

Answers: TStringList

Створення об’єкта TsurveyAnswer.

Додавання відповідей до даного тестування/опитування.

  1. Наступна критична область – це область збережуваних процедур бази даних, тому що саме вони складають основу функцій системи, і обробки інформації. Якщо у цій області системи відбудется збій, може може відбутись серйозна втрата або спотворення даних, що в свою чергу завдасть безліч клопотів користувачам системи. Збережувані процедури тестуватимуться таким чином: для кожної процедури задаватимуться певні вхідні параметри і перевірятимется результати їх виконання. До тестування збережуваних процедур потрібно поставитися з великою відповідальністю.

Опис нормальної роботи збережуваних процедур.

Назва методу

Значення параметрів

Результат виконання

dbo.AddGroup

dbo.AddUser

dbo.AddUserToGroup

dbo.DeleteGroup

dbo.DeleteUser

dbo.DeleteUserFromGroup

dbo.GetGroups

dbo.GetGroupsByUserId

dbo.GetRoleId

dbo.GetUsers

dbo.GetUsersByGroupId

dbo.GetUsersByRoleId

@GroupId: <ID групи>

@Name: <назва групи>

@UserId: <ID користувача>

@FullName: <ім’я користувача>

@Login: <логін користувача>

@Password: <пароль>

@RoleId: <IDролікористувача>

@UserId: <IDкористувача>

@GroupId: <IDгрупи>

@GroupId: <IDгрупи>

@UserId: <IDкористувача>

@UserId: <IDкористувача>

@GroupId: <IDгрупи>

----------------

@UserId: <IDкористувача>

@Login: <логін користувача>

@Password: <пароль>

----------------

@GroupId: <IDгрупи>

@RoleId: <IDролі користувача>

Добавленнянової групи в таблицю dbo.Groupsбази.

Добавлення нового користувацького запису в таблицю dbo.Usersбази.

Добавлення заданого користувача до заданої групи шляшом додавання запису в таблицю dbo.UserGroups бази.

Видалення заданої групи з таблиці dbo.Groups бази.

Видалення заданого запису користувача з таблиці dbo.Users бази.

Видалення заданого користувача з заданої групи шляшом видалення запису з таблиці dbo.UserGroups бази.

Список всіх груп з таблиці dbo.Groups бази.

Список груп до яких входить заданий користувач з таблиці dbo.Groups бази.

RoleId відповідного користувача.

Список всіх користувачів з таблиці dbo.Users бази.

Список користувачів, що належать до певної групи з таблиці dbo.Users.

Список користувачів заданого типу

  1. Наступна критична область – це область перевірки внесених даних користувачем системи. Якщо користувачу дозволити вносити будь-які дані, це неодмінно призведе до несправної роботи системи. Це можуть бути не тільки перевірки на відповідність формату або на наявність від’ємних чисел, а й те, наприклад, скільки разів користувач натискає ту чи іншу кнопку, що може призвести до неочікуваного результату роботи і невірного виконання операцій. Основні перевірки валідності введених даних виконуются на верхньому рівні (рівні інтерфейсу), отже тестуватимется модуль інтерфейсу FmMain.

  1. Остання критична область – це перевірка сумісності. Якщо клієнтська частина не сумісна з тією чи іншою операційною системою, або не сумісна з певними програмними продуктами, які встановлені на комп’ютері - користувачу має буди висвітлене повідомлення з поясненням проблеми несумісності і порадами, щодо її усунення.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]