Тестування програмного забезпечення
Основні принципи тестування програмного забезпечення. Об'єктно-орієнтована технологія в програмуванні: переваги та недоліки. Інтеграція об'єктів. Різновиди тестування. Інструментальні засоби. Тестування інформаційної системи "Навчально-методичний ресурс".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 30.06.2016 |
Размер файла | 226,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
4. Компаратор файлів. Порівнює результати тестування з результатами попереднього тестування і становить звіт про виявлені розходження. Компаратори особливо важливі при порівнянні різних версій програми. Відмінності в результатах вказують на можливі проблеми, що існують в новій версії системи.
5. Генератор звітів. Формує звіти за результатами проведення тестів.
6. Динамічний аналізатор. Додає в програму код, який підраховує, скільки разів виконується кожен оператор. Після запуску тесту створює виконуваний профіль, в якому показано, скільки раз в програмі виконується кожен оператор.
7. Імітатор. Існує кілька типів імітаторів. Цільові імітатори моделюють машину, на якій буде виконуватися програма. Імітатор для користувача інтерфейсу - це програма, керована сценаріями, яка моделює взаємодії з інтерфейсом користувача. Імітатор введення/виводу генерує послідовності повторюваних транзакцій [4, 5].
Вимоги, які пред'являються до процесу тестування великих систем, залежать від типу розроблювального додатка. Тому інструментальні засоби тестування незмінно доводиться адаптувати до процесу тестування конкретної системи.
Для створення повного комплексу інструментального засобу тестування, як правило, потрібно багато сил і часу. Для великих систем повна вартість тестування може досягати 50% від усієї вартості розробки системи. Ось чому вигідно інвестувати розробку високоякісних і продуктивних CASE-засобів тестування [4, 5, 6].
Об'єктно-орієнтований підхід не гарантує створення правильних програм. Отже тестування так само необхідно для об'єктно-орієнтованих програм як і для структурних.
Основні властивості об'єктів (інкапсуляція, успадкування, поліморфізм) додають нові аспекти тестування.
Об'єктно-орієнтована технологія привносить свої особливості в процес тестування систем. Формулюється кілька питань, які необхідно вирішити для успішного проведення тестування:
· яка частина успадкованих властивостей повинна заново тестуватися;
· коли і як можна перевіряти інформацію про стан класу;
· як можна перевірити поведінку системи, залежно від стану, коли відсутній єдиний механізм управління станами в програмі;
· як варто тестувати інтеграцію класів і які стратегії тестування застосовувати.
Рішення про таке виконується шляхом розробки нових підходів і модернізації старих, спеціально для тестування об'єктно-орієнтованих систем.
РОЗДІЛ 4. ТЕСТУВАННЯ ІНФОРМАЦІЙНОЇ СИСТЕМИ «НАВЧАЛЬНО-МЕТОДИЧНИЙ РЕСУРС»
В якості практичної частини нам було запропоновано протестувати фрагмент інформаційної системи «Навчально-методичний ресурс», а саме - реєстрацію користувачів. Так як інформаційна система «Навчально-методичний ресурс» представляє собою WEB-сайт, то також було запропоновано протестувати і навігацію сайту.
Нами був обраний такий метод тестування, як метод «чорного ящика». Це обумовлено тим, що тестуванням коду програми займався безпосередньо розробник коду. Ним був написаний файл реєстрації reg. Php. У результаті роботи файлу на головній сторінці інформаційної системи з'являється наступна форма.
Нами були заповнені всі обов'язкові й необов'язкові поля форми, але в полі «Підтвердження» нами була вказана невірний пароль, в результаті чого з'явилося наступне повідомлення.
Поява вищевказаного повідомлення свідчить про вірній роботі файлу реєстрації в тому випадку, якщо невірно введено значення поля «Підтвердження».
Далі за посиланням «назад» ми потрапляємо на сторінку реєстрації. У очищену після зазначених дій форму ми вводимо дані, не забуваючи вказати вірне підтвердження пароля, в результаті чого здійснюється вхід в інформаційну систему «Навчально-методичний ресурс».
Після проведення реєстрації ми потрапляємо на головну сторінку сайту і дізнаємося його зміст і структуру.
Для тестування фрагмента інформаційної системи «Навчально-методичний ресурс» нами була обрана можливість створення курсу лекцій одного предмета.
На головній сторінці вказується кількість лекцій. У нашому випадку їх кількість - 3. Натисканням кнопки «Лекції» викликається форма, що містить порожні поля для введення назви лекції та шляхи, за яким знаходиться файл з безпосередньо змістом (текстом) лекції. Файл з лекцією повинен бути написаний у текстовому редакторі Microsoft Office Word і збережений як веб-сторінка з фільтром, інакше можуть виникнути помилки у формуванні кінцевої сторінки. У результаті пророблених дій повинна формуватися веб-сторінка, що містить всі лекції, зазначені користувачем. У нашому випадку формування сторінки відбувається успішно, і ми отримуємо веб-сторінку з трьома лекціями з заданими назвами і з вірним вмістом.
Крім тестування веб-сторінок інформаційної системи «УМР» вироблялося візуальне тестування вихідного коду сценарію reg. Php. Перевірка даного файлу здійснювалася за допомогою редактора PHP Expert Editor.
Файл сценарію reg.php представлений у додатку А.
ВИСНОВКИ
Самим першим і одним з найважливіших етапів тестування об'єктно-орієнтованого програмного забезпечення є тестування його проектної моделі. На даному етапі відбувається тестування всіх UML-діаграм, які складають модель. До таких діаграм найчастіше належать основні види UML-діаграм, серед яких діаграма варіантів використання, діаграми класів, діаграми станів і діаграма послідовностей.
У роботі описані найбільш популярні і ефективні з існуючих методів виконання тестування основних видів UML-діаграм. Після тестування кожна діаграма проходить перевірку на коректність. Пройшла перевірку на коректність і узгодженість проектна модель об'єктно-орієнтованого програмного забезпечення можна використовувати для ефективної розробки програмного забезпечення.
Тестування - це процес аналізу пункту вимог до ПЗ з метою фіксації відмінностей між існуючим станом ПЗ і необхідним (що свідчить про прояв помилки) при експериментальній перевірці відповідного пункту вимог.
Далі були розглянуті види тестування:
-Блокове тестування;
-Тестування компонента;
-Інтеграційне тестування;
-Регресивне тестування;
-Тестування системи.
Виділено основні критерії та принципи тестування, а також методи тестування програмного забезпечення, такі як:
-Метод «білого ящика».
-Метод «чорного ящика».
Практичною частиною курсової роботи було тестування фрагмента інформаційної системи «Навчально-методичний ресурс».
Таким чином, завдання, сформульовані у вступі, вирішені, а мета досягнута.
СПИСОК ЛІТЕРАТУРИ
1. Борзов Ю.В., Уртанг Г.Б., Шимаров В.А. Выбор путей программы для построения тестов. - УСиМ. - 1989. - № 6 - с. 29-36
2. Дастин Э., Рэшка Дж., Пол Дж. Автоматизированное тестирование программного обеспечения / Изд. Лори. - 2003. - 310 с.
3. Дідковська М.В. Дослідження та аналіз графічних моделей фукціональних вимог до Web-проектів [Текст] / М.В. Дідковська // Наукові вісті. -- 2007. -- № 6. -- С.49-54.
4. Дидковская М.В. Создание тестов и оценивание времени тестирования с помощью UML диаграмм вариантов использования [Текст] / М.В. Дидковская // Электроника и связь. -- 2007. -- № 2. -- С. 79-81.
5. Канер С., Фолк ДЖ., Нгуен Енг. Тестирование программного обеспечения. - К.: Диасофт, 2000 - 544 с.
6. Карлбертсон Р., Браун К., Кобб Г. Быстрое тестирование / Изд. Вильямс 2002. - 216 с.
7. Леоненков А. Самоучитель UML. Эффективный инструмент моделирования информационных систем / Леоненков А. - Спб.: BHV-Санкт-Петербург, 2001. - 304 с.
8. Липаев В.В. Качество программного обеспечения [Текст] / В.В. Липаев. -- М.: Финансы и статистика, 1983. -- 263 с.
9. Липаев В.В. Отладка сложных программ: Методы, средства, технология. -М.: Энергоатомиздат, 1993. - 384 с.
10. Майерс Г. Искусство тестирования программ [Текст] / Г. Майерс. -- Пер. -- М.: Финансы и статистика, 1982. -- 172 с.
11. Макгрегор Дж. Тестирование объектно-ориентированного программного обеспечения. Практическое пособие / Дж. Макгрегор, Д. Сайкс; пер. с англ. - К.: ООО «ТИД «ДС»», 2002. - 432 с.
12. Макгрегор Дж., Сайкс Д. Тестирование объектно-ориентированного программного обеспечения. - К.: Диасофт, 2002. - 432 с.
13. Мещериков С.В., Иванов В.М. Эффективные технологии создания информационных систем. - СПб.: Политехника, 2005. - 309 с.
14. Молодцова О.П. Управління якістю програмної продукції [Текст]: навчальний посібник / О.П. Молодцова. -- К.: КНЕУ, 2001. -- 248 с.
15. Об'єктно-орієнтоване моделювання при проектуванні вбудованих систем і систем реального часу: навч. пос. з дисципліни: «Системний аналіз та проектування комп'ютерних інформаційних систем» / В.В. Литвинов, С.В. Голуб, К.М. Григор'єв [та ін.]. - Черкаси: Черкаський національний університет ім. Б. Хмельницького, 2010. - 379 с.
16. Рекс Блэк. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование. - М.: «Лори», 2006. - 544 с.
17. Савин Р. Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах. - М.: «Дело», 2007. - 312 с.
18. Скотт В.Эмблер, Прамодкумар Дж. Садладж. Рефакторинг баз данных - эволюционное проектирование.: Пер. с англ. - М.: ООО «И.Д. Вильямс», 2007. -672 с.
19. Тамре Л. Введение в тестирование программного обеспечения / Тамре Л.; пер. с англ. - М.: Издательский дом «Вильямс», 2003. - 368 с.
20. Технологии разработки программного обеспечения: Учебник для вузов. 3-е из д./ С.А. Орлов. - СПб.: Питер, 2004. - 527 с.
21. Шимаров В.А. Тестирование программ: цели и особенности инструментальной поддержки // Программное обеспечение ЭВМ / АН БССР. Институт математики. - Минск, 1994. - Вып. 100 - с.19 - 43
22. Balaban М. Management of Correctness Problems in UML Class Diagrams - Towards a Pattern-based Approach / Balaban М., Maraee А., Stur А. - Beer Sheva: Department of Computer Science, Ben-Gurion University of the Negev, 2002. - 33 р.
23. Brown A.W. Large-scale Component-Based Development [Text] / A.W. Brown. -- Prentice-Hall, 2000. -- 300 р.
24. Cohn M. Agile Estimating and Planning [Text] / Mike Cohn. -- Prentice Hall, 2005. -- 368 p.
25. Didkovska M. Criteria for integration testing of component-based software [Text] / M.Didkovska // Электроника и связь. -- К.: 2004. -- №23. -- С. 90-94.
26. Humphrey, Watts S. Managing the Software Process. Reading, MA: Addison-Wesley, 1989.
27. Myers G.J. The Art Of Software Testing [Text] / G.J. Myers -- New York: John Wiley & Sons, Inc., 2004. -- 254 р. -- ISBN 0-471-46912-2.
28. Offutt J. Generating tests from UML specifications [Electronic resource] / J. Offutt, A. Abdurazik // Second International Conference on the Unified Modeling Language. -- Fort Collins, CO, IEEE Computer Society Press, 1999. -- C. 416-429
29. Page-Jones M. Fundamentals of Object-Oriented Design in UML / Page-Jones M. - New York: Addison-Wesley, 2000. - 435 р.
30. Patton R. Software Testing [Text] / R. Patton. -- 2nd Edn. -- Indianapolis: Sams, 2005. -- 408p.
31. Schneider G. Applying Use Cases: A Practical Guide [Text] / Geri Schneider G., Jason P. Winters. -- Addison Wesley, 1998. -- 188 p.
32. The design of a prototype mutation system for program testing [Text] / T. A. Budd, R. A. DeMillo, R. J. Lipton, and F. G. Sayward // Proceedings NCC, AFIPS Conference Record. -- 1978. -- Vol 47. -- рр. 623- 627.
33. Weyuker E.J. Axiomatizing software test data adequacy [Text] / E.J. Weyuker // IEEE Transactions on Software Engineering. -- SE-1215(12). -- December 1986. -- рр. 1128-1138.
34. Zhou Х. Auto-generation of Class Diagram from Free-text Functional Specificftions and Domain Ontology / X. Zhou, N. Zhou. - 2004. - 20 р.
ДОДАТОК
Файл сценарію reg.php
/*---- Допоміжні функції ---- * /
function Check ($ var, $ val = "") {
if (! isset ($ var))
return $ val;
else
return $ var;
}
/ / Функція для перевірки ПІБ
Function FIO_OK ($ str) {
Return ereg ("^ [А-Яа-я \ '-] {l, 25} $", $ str);
}
function LOGIN_OK ($ str) {
$ Conn = mysql_connect ("localhost", "root"); / / встановлюємо з'єднання
$ Database = "users";
$ Table_name = "pass";
mysql_select_db ($ database); / / вибираємо базу даних
/ / Перевірка унікальності псевдоніма
$ Sql = "SELECT login FROM $ table_name WHERE` login `=". "'". $ Str. "'";
$ Result = mysql_query ($ sql);
mysql_close ($ conn);
return mysql_num_rows ($ result);
}
/ / Функція для перевірки email
function email_OK ($ str) {
return preg_match ("/ ^ \ w + ([\. \ w] +) * \ w @ \ w ((\. \ w) * \ w +) * \. \ w {2, 3 }$/", $ str);
}
/ / Функція для перевірки телефону
function telefon_OK ($ str) {
return preg_match ("/ \ d {3} - \ d {2} - \ d {2 }/", $ str);
}
/ / Функція для перевірки форми
function Form _ OK () {
/ / Масив помилок та відповідних повідомлень
global $ errors, $ err _ msg;
/ * If (! FIO_OK ($ _POST ["fname"])) {
$ Errors ["fname"] = 1;
$ _POST ["Fname"] = "";
}
if (! FIO_OK ($ _POST ["oname"])) {
$ Errors ["oname"] = 1;
$ _POST ["Oname"] = "";
}
if (! FIO_OK ($ _POST ["lname"])) {
$ Errors ["lname"] = 1;
$ _POST ["Lname"] = "";
}
* /
if (LOGIN_OK ($ _POST ["login"])) {
$ Errors ["login"] = 1;
$ _ POST ["login"] = "";
}
/ / Перевірка збіги пароля і підтвердження
if (strcmp ($ _POST ["pass "], $_ POST [" repass "])! = 0) {
$ Errors ["error"] = 1;
$ _POST ["Repass"] = "";
}
if (! $ _POST ["pass"]) {
$ Errors ["pass"] = 1;
$ _POST ["Repass"] = "";
}
if (! $ _POST ["repass"]) $ errors ["repass"] = 1;
if (sizeof ($ errors)> 0) {
/ / Якщо існують помилки, виводяться відповідні повідомлення, і форма відображається заново
echo "<html> <body> <div align='center' style='font-size: 18'> <b> ПОМИЛКА </ b> </ div>";
echo "<div align='center' style='font-size: 14, color: red'> Виявлено наступні помилки: <br>";
foreach ($ errors as $ key => $ value) {
echo "<b>". $ Err_msg [$ key]. "</ B> <br>";
}
echo "</ div>";
ShowForm ();
echo "</ body> </ html>";
}
else {
/ / Якщо помилки відсутні, виводиться відповідне повідомлення
echo "<h 2 align = 'center'> Шановний (а)". $ _POST ["lname"]. "". $ _POST ['Fname']. "! </ H2> <br> <h3 align='center'>
Реєстрація пройшла успішно </ h 3> ";
$ _ SESSION ['login'] = $ _ POST ['login'];
/ / Реєструємо змінну login
/ / $ _SESSION ['Pass'] = $ _POST ['pass'];
/ / Реєструємо змінну pass
/ / Тепер логін і пароль - глобальні
/ / Змінні для цієї сесії
echo "<center> <a href =main_form. php> OK </ a> </ center>";
// Вносимо дані в базу
$ Conn = mysql _ connect ("localhost", "root"); / / встановлюємо з'єднання
$ Database = "users";
$ Table_name = "pass";
mysql_select_db ($ database); / / вибираємо базу даних
/ / Перевірка унікальності псевдоніма
$ List_f = mysql_list_fields ($ database, $ table_name); / / отримуємо список полів у базі
$ N = mysql _ num _ fields ($ list _ f); / / число рядків у результаті попереднього запиту
/ / Складемо один запит відразу для всіх полів таблиці
$ Sql = "INSERT INTO $ table _ name SET"; / / починаємо створювати запит, перебираємо всі поля таблиці
for ($ i = 0; $ i <$ n; $ i + +) {
$ Name_f = mysql_field_name ($ list_f, $ i); / / обчислюємо ім'я поля
$ Value = $ _ POST [$ name _ f]; / / обчислюємо значення поля
$ J = $ i + 1;
$ Sql = $ sql. $ Name _ f. "= '$ Value'"; / / дописуємо в рядок $ sql пару ім'я = значення
if ($ j <> $ n) $ sql = $ sql. ", "; / / якщо поле не останнє в списку, то ставимо кому
}
/ / Перед тим як записувати щось в базу,
/ / Можна подивитися, який запит вийшов
/ / Echo $ sql;
$ Result = mysql _ query ($ sql, $ conn); / / відправляємо запит виводимо повідомлення чи успішно виконаний запит
if (! $ result) echo "Can't add". $ Table_name;
else echo "Success! <br>";
mysql _ close ($ conn);
}}
Размещено на Allbest.ru
...Подобные документы
Тестування програмного забезпечення як процес його дослідження для отримання інформації про якість. Автоматизація тестування програми Join It - Jigsaw Puzzle. Методика тестування, структура пакету та його модулів. Вимоги до програмного забезпечення.
дипломная работа [2,4 M], добавлен 24.07.2013Проблеми процесу тестування програмного забезпечення. Розробка алгоритму автоматичної генерації тестів і тестового набору для ручного виконання. Побудова тестів для системи "Банкомат" і для баг-трекінгової системи, представленої графом із циклами.
дипломная работа [1,2 M], добавлен 26.02.2014Дослідження алгоритму роботи та коду програми. Оцінка методом "чорного ящика". Тестування і налагодження розробленої програми на алгоритмічній мові високого рівня. Оцінювання якості програмного забезпечення за об’єктно-орієнтованими метриками зв’язності.
курсовая работа [143,1 K], добавлен 11.03.2021Технічні характеристики обчислювальної техніки Монастирищенської центральної районної лікарні. Прикладне і основне програмне забезпечення закладу. Обґрунтування доцільності розробки програмного продукту для тестування молодшого медичного персоналу.
отчет по практике [2,1 M], добавлен 02.04.2014Аналіз програмного забезпечення для проведення тестування в комп’ютерному класі. УТК (Універсальний тестовий комплекс). Асистент 2. OPEN TEST. Порівняння програм для тестування. Організація інтерактивного тестування за допомогою програми OPEN TEST.
реферат [30,3 K], добавлен 19.09.2008Види віртуальних тестових машин, їх ключові можливості, сумісність c операційними системами. Процес установки гостьових ОС BackTrack і FreeBSD. Встановлення серверного програмного забезпечення. Тестування веб-сервера і засобів віддаленого управління.
дипломная работа [3,5 M], добавлен 22.07.2015Огляд засобів створення програмного забезпечення сучасних мікроконтролерів. Аналіз методів та налаштувань контролерів. Засоби генерації коду налаштувань. Детальний опис розробки програми генератора налаштувань ядра Cortex M4 та методики її тестування.
курсовая работа [1,3 M], добавлен 20.05.2015Багатоплановість проблеми тестування, види тестів, схема взаємодії тестуючого з тестувальником. Огляд і можливості деяких сучасних програмних засобів для створення тестів. Технологія створення тестів на прикладі програмного забезпечення MyTestX.
дипломная работа [1,8 M], добавлен 15.06.2014Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio.
практическая работа [1,8 M], добавлен 05.06.2014Класифікація об'єктно-орієнтованих мов програмування. Розробка алгоритмічного та програмного забезпечення комп'ютерної системи управління процесом випалювання будівельних матеріалів. Тестування програмного забезпечення, оцінка його ефективності.
курсовая работа [1,6 M], добавлен 25.04.2015Оцінювання та засоби підвищення надійності інформаційних технологій протягом усього життєвого циклу програмного забезпечення на основі негомогенного пуасонівського процесу та обчислення її параметрів, з урахуванням сучасних тенденцій тестування.
автореферат [52,0 K], добавлен 10.12.2010Основні способи тестування роботи паралельної системи. Функціональне тестування та тестування загальної швидкості. Способи організації та налаштування кластера. Програма для створення віртуальних операційних систем шляхом виділення ресурсів комп'ютера.
лабораторная работа [3,4 M], добавлен 02.06.2011Програма автотестування (POST). Призначення діагностичного програмного забезпечення, категорії програм діагностики. Використання утилітів пошуку несправностей, неполадок і оптимізації. Проведення тестування комп’ютера за допомогою програми CHECKІT.
лабораторная работа [13,6 K], добавлен 03.10.2010Аналіз інформаційних систем, етапів обробки інформації, Web-програмування. Огляд засобів ідентифікації користувача в САТДН. Розробка інформаційної і адміністративної підсистем для системи автоматизованого тестування для дистанційного навчання (САТДН).
дипломная работа [10,3 M], добавлен 21.04.2014Вивчення історії кафедри "Комп’ютерної інженерії". Дослідження процесу складання, монтажу, налагодження, тестування апаратного забезпечення комп’ютерних систем і мереж. Науково-дослідні роботи у лабораторії "Програмного забезпечення комп’ютерних систем".
отчет по практике [23,9 K], добавлен 01.03.2013Аналіз структури і функцій автоматизованої системи управління процесу реалізації товарів музичного магазину, визначення техніко-економічних показників. Вимоги до змісту документу з програмного забезпечення модуля тестування програмних продуктів.
контрольная работа [327,2 K], добавлен 16.01.2014Функції обліку зайнятості аудиторії. Створення програмного модуля, який виконуватиме формування електронного реєстру та презентацію вільних та зайнятих аудиторій. Призначення та область застосування програмного продукту. Опис інтерфейсу, тестування.
курсовая работа [460,5 K], добавлен 21.05.2016Характеристика програмного забезпечення, його мета та призначення, функціональні особливості. Вимоги до розробки та її джерела. Огляд алгоритмів генерації псевдовипадкових послідовностей. Дослідження методів тестування та оцінки стійкості паролів.
дипломная работа [2,0 M], добавлен 22.10.2012Методика управління каталогами та атрибутами файлів. Аналіз вихідних даних, вибір підходу та технології реалізації програмного продукту. Розробка узагальненого та деталізованих алгоритмів роботи програми, інтеграція компонентів та комплексне тестування.
курсовая работа [2,8 M], добавлен 23.01.2012Дослідження теоретичних аспектів проектування автоматизованих систем тестування знань. Розробка програми, яка призначена для забезпечення автоматизації процесу формування тестів та всього процесу контролю знань у дистанційній навчальній системі.
дипломная работа [2,1 M], добавлен 26.10.2012