Тестването е важен процес от разработването на софтуер, уеб приложения и сайтове, а тестерите са бойците на невидимия фронт, благодарение на които крайният потребител получава качествен софтуерен продукт.
От първата част на тази книга ще научите кои са тестовите методи, как да ги прилагате, как да пишете тест кейсове и как да използвате инструменти за управление на тестове. Ще се запознаете с техниката на тестване по двойки, която ви позволява значително да намалите броя на тестовете.
Втората част на книгата обхваща инструмента за автоматизиране на тестове PHPUnit, който заслужено се счита за най-добрият инструмент за организиране на модулно тестване на уеб приложения и сайтове. Ще се запознаете с основите на автоматизираното тестване на PHP приложения и ще разгледате практически пример за тестване на приложение, което предоставя API за работа с потребители.
Разучете техниките, стоящи в основите на софтуерното тестване, и станете истински QA професионалист!
27.95лв.
QA – софтуерно тестване
Година | 2023 |
---|---|
Формат | 162х235 |
Страници | 287 |
Корици | Меки |
Преводач | Надежда Борисова |
Редактор | Ивелин Михайлов |
Съдържание
Въведение…9
Част 1. Тестване за тестера
Глава 1. Въведение в тестването…11
Какво е тестване…11
Кой е тестер…13
Необходими знания и умения…15
Митове за тестерите…18
Мит: не е нужно да сте наясно с компютъра…18
Мит: нужно е да бъдете програмисти…18
Мит: тестването е лесно…19
Мит: тестването е скучно…19
Мит: тестерите трябва да научат всичко…19
Мит: тестерът е неуспешен програмист…20
Мит: тестерът е виновен, защото не е забелязал грешката…20
Мит: тестерите скоро вече няма да са необходими, тъй като всичко върви към автоматизация…20
Мит: трудно се гради кариера…20
Роли на QA специалистa…21
Специалист по качеството…21
Анализатор…22
Експерт…22
Оптимизатор…22
Специалист по поддръжка на продукта…23
Специалист по usability…23
Автоматизатор…23
Глава 2. Процеси на тестване и разработка на софтуер…25
Модели за разработка на софтуер…25
Водопаден модел…25
V-образен модел…26
Итеративен модел…27
Спирален модел…28
Гъвкав модел…29
Избор на модел за разработка на софтуер…31
Жизнен цикъл на тестването…32
Глава 3. Тестване на изискванията. Документация…34
Какво е изискване…34
Събиране на изисквания…37
Видове изисквания…40
Какво е това качествени изисквания…44
Често срещани грешки при анализа на изискванията…45
Отметка OK за прието изискване…45
Промяна на формата на файл и документ…46
Описание на един и същ проблем на няколко места …46
Писане на въпроси и коментари без посочване на мястото на изискването, за което се отнасят…46
Критика на изискванията или дори на техния автор…47
Лошо оформление на въпросите и коментарите…47
Описание на проблема на грешното място…47
Глава 4. Видове тестване…48
Класификация на тестването…48
Модулно тестване…52
Интеграционно тестване…53
Тестване от край до край (end-to-end testing)…54
Тестване за дим (smoke testing)…55
Тестване за разумност (sanity testing)…56
Регресивно тестване (regression testing)…57
Тестване за приемане (acceptance testing)…58
Тестване на бяла кутия (white-box testing)…59
Тестване на черна кутия (black box testing)…59
Тестване на интерфейса (interface testing)…60
Глава 5. Чек-листи и тест-кейсове…62
Чек-листи…62
Тест-кейсове…67
Обща информация за тест-кейсовете…67
Структура на тест-кейс…71
Инструменти за управление на тестването…73
Как се пише качествен тест-кейс…79
Правилен технически език, точност и еднаквост на формулировката…79
Липса на излишък по отношение на други тест-кейсове…81
Възможност за повторно използване…81
Съответствие с приетите шаблони за дизайн и традиции…81
Без ненужни действия…81
Работа със списък от тест-кейсове в TestRail…83
Примери за тест-кейсове за ръчно тестване…85
Позитивен тест-кейс…86
Деструктивен тест-кейс…87
Негативен тест-кейс…87
Глава 6. Доклади за дефекти…88
Разбиране на терминологията…88
Доклад за дефект…91
Добавяне на доклад за дефект към TestRail и други програми за отчитане на грешки…94
Ефективни доклади за дефекти…107
Открийте дефекта и разберете същността на проблема…108
Възпроизвеждане на дефект…110
Проверете за налично описание на открития от вас дефект…111
Правилно формулиране на проблема…111
Попълване на полета в доклада…112
Проверете отново всичко…112
Примери за доклади на дефекти…113
Грешки при писане на доклади…115
Неинформативно кратко описание…115
Идентични кратки и подробни описания (summary и description)….116
Скрийншотове, на които не е отбелязан проблемът…116
Не публикувайте скрийшотове на ресурси на трети страни…117
Копия на целия екран…117
Несъществуващи дефекти…118
Приписване на разширени възможности на приложението на дефекти…118
Неправилно посочени симптоми…119
Надценена важност и спешност…119
В стъпките на възпроизвеждане липсва информация, важна за възпроизвеждане на дефекта…119
Игнориране на последователни дефекти…120
Tехническа неграмотност…120
Глава 7. Оценка на разходите за труд на тестер…121
Какво представляват разходите за труд…121
Как да изчислим разходите за труд?…122
Какво може да се пренебрегне…127
Пример за оценка…128
Глава 8. Техники за тест-дизайн и тяхното предназначение…129
Повече за кутиите…129
Етапи на тестване…132
Техники за тест-дизайн…132
Еквивалентен дял…132
Гранични стойности…133
Tаблица за вземане на решения…134
Тестване по двойки…135
Предсказване на грешка…142
Причинно-следствен метод…143
Тестване на домейн…144
Проучвателно тестване…146
Тестване за дим (smoke testing)…149
Глава 9. Автоматизация на тестването…154
Въведение в автоматизацията…154
Област на приложение на автоматизацията…159
Цели на автоматизацията…161
Технологии за автоматизация на тестове…163
Частни решения…165
Тестване под управлението на данни…166
Тестване под управление на ключови думи…170
Използване на фреймуърци…173
Tехнология за запис и възпроизвеждане…174
Тестване под управление на поведението…175
Автоматизация и допълнителни задачи на тестването…177
Избор на инструмент за тестване…178
Katalon…179
Selenium…180
LambdaTest…180
Ranorex…181
Appium…181
Eggplant…182
Kobiton…182
Избор на инструмент…183
Глава 10. Тестване на натоварването на уеб приложение…184
Инструментът ab…185
Инструментът siege…190
Част 2. Тестване за разработчика
Глава 11. Въведение в PHPUnit и неговата инсталация…194
Какво е PHPUnit…194
Инсталиране на PHPUnit…195
Вашият първи тест…197
Относно командата phpunit…199
Глава 12. Писане на тестове…204
Основи на основите…204
Зависимости на тестовете…205
Доставчици на данни…209
Изключения…215
Тестване на изхода…216
Анотации…217
@author…218
@after…218
@afterClass…218
@backupGlobals…219
@backupStaticAttributes…220
@before…220
@beforeClass…221
@codeCoverageIgnore*…222
@covers…222
@coversDefaultClass…223
@coversNothing…223
@dataProvider…223
@depends…223
@doesNotPerformAssertions…224
@expectedException…224
@expectedExceptionCode…224
@expectedExceptionMessage…225
@expectedExceptionMessage-RegExp…226
@group…227
@large…227
@medium…228
@preserveGlobalState…228
@requires…228
@runTestsInSeparateProcesses…229
@runInSeparateProcess…229
@small…229
@test…229
@testdox…230
@testWith…230
@ticket…231
@uses…231
Глава 13. Методи на твърдения…232
assertArrayHasKey() …232
assertClassHasAttribute()….233
assertArraySubset()…234
assertClassHasStaticAttribute() …235
assertContains()….235
assertContainsOnly()…236
assertContainsOnlyInstancesOf()…237
assertCount()…237
assertDirectoryExists()…238
assertDirectoryIsReadable()…238
assertDirectoryIsWritable()…239
assertEmpty()…239
assertEqualXMLStructure() …239
assertEquals() …242
assertFalse()…244
assertFileEquals()…244
assertFileExists()…245
assertFileIsReadable()…245
assertFileIsWritable() …245
assertGreaterThan()…246
assertGreaterThanOrEqual()…246
assertInfinite()…246
assertInstanceOf()…246
assertIsArray()…247
assertIsBool()…247
assertIsCallable()…247
assertIsFloat()…248
assertIsInt()…248
assertIsIterable()…248
assertIsNumeric()…248
assertIsObject()…249
assertIsResource()…249
assertIsScalar()…249
assertIsString()…250
assertIsReadable()…250
assertIsWritable()…250
assertJsonFileEqualsJsonFile()…250
assertJsonStringEqualsJsonFile()…251
assertJsonStringEquals-
JsonString()…252
assertLessThan()…252
assertLessThanOrEqual()…253
assertNan()…253
assertNull()…253
assertObjectHasAttribute()…253
assertRegExp()…254
assertStringMatchesFormat()…254
assertStringMatches-
FormatFile() …255
assertSame()…255
assertStringEndsWith()…256
assertStringEqualsFile()…256
assertStringStartsWith()…256
assertThat() …257
assertTrue()…258
assertXmlFilчeEqualsXmlFile()…258
assertXmlStringEqualsXmlFile()…259
assertXmlStringEquals-
XmlString()…259
Глава 14. Фиксчъри…261
Какво е фиксчър…261
Съвместно използване на фиксчъри…264
Глава 15. Разширение на PHPUnit …266
Писане на потребителски твърдения…266
Имплементация на PHPUnitFrameworkTestListener…268
Имплементация на PHPUnitFrameworkTest…271
Разширение TestRunner…273
Глава 16. Реален пример за тестване…275
Няколко думи за регресивните грешки…275
Внедряване на приложение…276
Ръчно тестване…279
Нека свържем PHPUnit…280
Автоматизиране на тестове…282
Настройка преди тестване…283
Команда за Composer…284
Вместо заключение…286