Тестването за съвместимост е неразделна част от много стратегии за осигуряване на качеството, което позволява на компаниите да проверят дали техният софтуер работи правилно на различни платформи. Дори при програма, предназначена само за настолни компютри, трябва да се вземат предвид няколко основни операционни системи и стотици, ако не и хиляди, хардуерни разлики, които могат да повлияят на стабилността. Разбирането на процеса на тестване на съвместимостта и обичайните ползи от него може да помогне да се гарантира ефективно пускане на продукта на пазара, който може да достигне до възможно най-голяма аудитория от потребители.
Въпреки че тестването за съвместимост може да предложи редица предимства, съществуват и многобройни сериозни предизвикателства, които екипът за тестване на софтуер трябва да преодолее, за да използва максимално потенциала на тази техника. Съществуват и специфични практики, които тези отдели трябва да прилагат, за да получат най-добри резултати и да осигурят цялостно покритие на тестовете.
В тази статия разглеждаме отблизо тестването за съвместимост, включително основните стъпки, които екипите трябва да следват, както и най-полезните инструменти за тестване, които са налични в момента.
Какво представлява тестването за съвместимост в
софтуерно тестване и инженеринг?
Тестването за съвместимост изследва софтуера на различни устройства, хардуер и фърмуер, за да се увери, че той работи според очакванията на екипа. Възможно е всеки потребител да работи с програмата си на ново устройство и затова е важно компанията да гарантира, че всички те ще имат сходно преживяване. Тестовете за съвместимост например могат да включват проверка на всяка функция на дадено приложение, за да се гарантира, че то работи на всички основни операционни системи.
Без задълбочено тестване за съвместимост е напълно възможно дадена компания да пусне приложение, което не работи за определени популярни устройства. Тези проверки трябва да са напълно изчерпателни, тъй като проблемът може да възникне по различни начини – например това приложение може да не работи с много специфичен тип графична карта. Когато се съчетават с други форми на тестване на софтуер, екипите за осигуряване на качеството могат да се уверят, че програмата им е готова за пускане.
1. Кога и защо е необходимо да се направи тест за съвместимост за мобилни приложения, уебсайтове, системи и кръстосани браузъри?
Компаниите провеждат тестове за съвместимост на етапа на тестване на софтуера, особено когато разполагат със „стабилна“ версия на програмата, която точно отразява поведението на клиентите. Това продължава и след алфа тестовете, тестовете за приемане и другите форми на тестване, при които често се търсят проблеми, свързани с общата стабилност и функциите. Ако дадено приложение се сблъска с проблеми по време на етапа на тестване на съвместимостта, това обикновено се дължи на специфични проблеми, свързани със съвместимостта. Твърде ранното въвеждане на тези проверки може да ги направи излишни, тъй като малки промени на по-късен етап от цикъла на разработване на програмата могат да повлияят радикално на съвместимостта.
Тестването за съвместимост на браузъри и софтуер е важно, защото помага на компаниите да пуснат приложение, за което знаят, че ще работи адекватно на почти всички възможни устройства. Например тестването на съвместимостта с различни браузъри помага да се гарантира, че хората, които използват Opera, имат същото преживяване като тези, които използват Firefox и други основни браузъри. Екипът обикновено тества толкова варианти на хардуер/софтуер, колкото времето и бюджетът му позволяват. Това означава, че те трябва интелигентно да приоритизират системите или браузърите, които е по-вероятно да бъдат използвани от техните клиенти, което им позволява да гарантират широк обхват на тестване и жизнеспособен продукт.
2. Когато не е необходимо да правите тестване за съвместимост на софтуера
Компаниите могат да създадат специално приложение за определена операционна система или модел, което значително ограничава броя на необходимите проверки. Тестването на съвместимостта с различни браузъри при тестването на софтуер може да се окаже излишно, ако тази програма не изисква браузър, например. Времето също може да се окаже сериозен фактор за способността на компанията да извърши тези тестове, въпреки че екипите за тестване все пак трябва да работят, за да гарантират, че основните системи и браузъри са съвместими със софтуера. Съществуват и някои проекти, за които не могат да се използват основни тестове за съвместимост.
3. Кой участва в изпитването за съвместимост?
Ето кои са основните лица, които провеждат тестове за съвместимост при тестването на софтуер:
1. Разработчици
По време на разработката екипът за разработка проверява работата на приложението на една платформа и това може да е единственото устройство, на което компанията възнамерява да пусне програмата.
2. Тестери
Екипите за осигуряване на качеството в рамките на компанията или наети отвън проверяват много възможни конфигурации като част от етапа на тестване на съвместимостта на приложението, включително всички основни операционни системи и браузъри.
3. Клиенти
Клиентите на компанията може да разполагат с хардуер или конфигурации, които екипът не е успял да тества обстойно, което може да направи техния потребителски опит първата реална проверка на конкретната конфигурация.
Предимства на тестването за съвместимост
Обичайните ползи от тестването на съвместимостта на софтуера включват:
1. По-широка аудитория
Колкото по-задълбочено екипът тества софтуера си, толкова повече устройства може уверено да пусне за него, за да гарантира, че широка аудитория от много платформи ще може да се възползва от приложението му. Това позволява на компаниите да получат повече продажби на продукти от програмата и може да подобри броя на положителните отзиви, които този софтуер получава от потребителите.
2. Подобрява стабилността
Тестването за съвместимост при тестването на софтуер е от съществено значение за открояване на проблемите със стабилността и производителността, които често могат да бъдат по-ясно изразени на различни устройства – особено ако разработчиците са проектирали това приложение само за една платформа. Тестът за системна съвместимост показва на компанията какво могат да очакват потребителите (на широк кръг от устройства) от цялостната работа на софтуера.
3. Усъвършенстване на разработката
Тези тестове също така имат значително дългосрочно въздействие върху екипа за разработка. Например тестването на мобилната съвместимост може да предостави ценна информация за разработването на приложения, която предприятията могат да вземат предвид при създаването на допълнителни програми. Това може значително да намали разходите за тестове за съвместимост за бъдещи проекти, като им позволи да използват повторно наученото от този процес.
4. Проверява други тестове
Повечето форми на тестване до този момент са ограничени по обхват и не тестват всички възможни комбинации от хардуер или софтуер – тези тестове биха могли ефективно да удвоят тези резултати. Тестването на съвместимостта с различни браузъри например потвърждава вече съществуващите етапи на осигуряване на качеството, като показва, че резултатите са същите, когато потребителят използва различен браузър.
5. Намаляване на разходите
Тестването за съвместимост може също така да намали разходите за текущата програма, тъй като помага на екипите да идентифицират проблеми, преди приложението да бъде пуснато в публична версия – в този момент отстраняването на грешки става по-скъпо. Колкото по-разнообразни са тестовете на екипа (и колкото по-висока е степента на покритие на тестовете), толкова по-евтино е да се отстранят всички грешки, когато се появят.
Предизвикателства при тестването на съвместимостта
Тук са изброени често срещаните предизвикателства, с които компаниите могат да се сблъскат, когато прилагат тестване на съвместимостта при тестването на софтуер:
1. Ограничено време
Макар че инструментите за автоматизация и други решения могат значително да ускорят тестовете за съвместимост чрез симулиране на редица устройства, този процес все пак трябва да бъде съобразен с графика за разработка на компанията. Това означава, че екипът за тестване трябва да даде приоритет на най-разпространените устройства и браузъри, за да се гарантира, че те ще получат най-широката (и най-многобройна) аудитория.
2. Липса на реални устройства
Тези проверки обикновено включват виртуални машини, които симулират компонентите и условията на реалните устройства; това е много по-евтино (и по-бързо) от самостоятелното придобиване на съответните части и платформи. Това обаче може да се отрази на точността на тези резултати, още повече че ефективността често зависи от начина, по който потребителите работят с реалното устройство.
3. Трудно е да се гарантира бъдещето
Тестовете за съвместимост могат да се отнасят само за вече съществуващи платформи; това означава, че те не могат да гарантират, че приложението ще работи според очакванията на бъдещите версии на Windows и Google Chrome. Организациите могат да поправят това само след пускането на пазара, което често е по-скъпо и в резултат на това приложението може да се окаже остаряло.
4. Поддръжка на инфраструктурата
Ако даден екип реши да провери значителен брой платформи на място, това може да доведе до високи инфраструктурни такси. Тестването за съвместимост на мобилни приложения например може да включва набавянето на редица реални мобилни устройства. Макар че това е по-точно от симулираното тестване на хардуерната съвместимост, то е скъпо и обикновено изисква редовна поддръжка.
5. Голям брой комбинации
Тестването за съвместимост отчита много взаимосвързани фактори, като например операционна система, браузър, хардуер, фърмуер и дори резолюция на екрана. Дори ако екипът по тестване разполага с много време, на практика е невъзможно да се съобрази с всяка една възможност. При тестването на конфигурацията и съвместимостта отново трябва да се даде приоритет на най-вероятните комбинации от устройства.
Характеристики на изпитването за съвместимост
Основните характеристики на тестовете за съвместимост включват:
1. Задълбочен
Тези проверки трябва да са в състояние да изолират всички възможни проблеми със съвместимостта, които възникват между устройствата – в противен случай екипът може да пусне дефектна програма. Например тези проверки трябва да гарантират, че всяка функция на приложението се изобразява според очакванията, независимо от резолюцията на екрана на потребителя.
2. Експанзивен
Тестовете трябва да поддържат баланс между задълбоченост и обхват, като помагат на екипите да изследват редица проблеми при много конфигурации на устройствата. Тестването за съвместимост с различни браузъри разглежда широк набор от комбинации от операционни системи и браузъри, като осигурява високо ниво на покритие – понякога с помощта на автоматизирано решение.
3. Двупосочен
Този процес включва тестване за обратна и предварителна съвместимост; първото позволява на екипа да провери как ще работи приложението им на по-стар хардуер. Последното позволява на екипа да получи достъп до най-съвременни платформи, което му помага да гарантира успешна работа в дългосрочен план, дори ако възможностите му за осигуряване на бъдещето са доста ограничени.
4. Повтарящ се
Проблемите, които тези проверки разкриват, трябва да могат лесно да се повтарят от други тестери и отдели, което показва, че те отразяват грешки, с които потребителите вероятно ще се сблъскат. Ако тестът за съвместимост на уебсайта покаже, че определени функции не функционират в определен браузър, повторяемостта помага на разработчиците да се справят с проблема.
Видове изпитване за съвместимост
Основните видове тестове за съвместимост са следните:
1. Тестване на обратната съвместимост
Тестването на обратната съвместимост включва проверка на приложението с по-стари версии на съвременния хардуер – това е от съществено значение, тъй като ограничаването на тези проверки до съвременните устройства може значително да ограничи броя на потребителите. Много хора все още използват по-стари операционни системи, като Windows 8 например.
2. Изпитване за съвместимост
Тестването на бъдещата съвместимост е подобно, но вместо това се разглеждат съвременните или предстоящите технологии, за да се провери дали е вероятно приложението да продължи да работи години наред въпреки напредъка и актуализациите. Без тези тестове софтуерът може дори да спре да функционира при следващата актуализация на браузъра, например.
3. Тестване за съвместимост с браузъри
Тестовете за съвместимост с браузъри гарантират, че дадено уеб приложение или сайт може да работи в различни браузъри; това е жизненоважно, тъй като те използват различни механизми за оформление. Екипите за осигуряване на качеството дори проверяват съвместимостта с различни браузъри, т.е. проверяват дали всеки браузър може да работи с приложението в различни операционни системи.
4. Тестване на мобилната съвместимост
Тестването на мобилни приложения е процес, подобен на този при проверката на настолни и уеб приложения, особено като се има предвид, че операционната система на телефона е друг ключов фактор. Приложенията за Android и iOS, например, се предлагат в напълно различни формати и изискват напълно отделен процес на разработка и тестване, за да се приспособят и към двете.
5. Тестване на съвместимостта на хардуера
Тези проверки разглеждат специфичните компоненти, които съставляват машината, и как те могат да повлияят на програмата; това е от решаващо значение за почти всеки тип устройство. Например даден компютър може да има графична карта, която не може успешно да визуализира интерфейса на уеб приложение.
6. Тестване на съвместимостта на устройствата
Някои приложения се свързват с външни устройства чрез Bluetooth, широколентова или кабелна връзка. Например дадено приложение може да се нуждае от връзка с принтер. Целта на тези тестове е да се уверите, че програмата се свързва със собствените връзки на платформата и всички устройства, до които има достъп.
7. Тестване на мрежовата съвместимост
Ако дадено приложение изисква мрежова функционалност, например свързване с онлайн база данни чрез сървъра на компанията, това изисква многобройни проверки за съвместимост. Това гарантира, че програмата може да работи с подходяща скорост при Wi-Fi, 4G или 3G мрежова връзка.
Какво проверяваме в тестовете за съвместимост?
Тестовете за съвместимост обикновено проверяват следното:
1. Изпълнение
Една от основните цели на тестването за съвместимост е да се осигури стабилност, тъй като някои аспекти на приложението може да са напълно несъвместими с общите платформи. Като разглежда цялостната отзивчивост на тази програма, екипът за тестване гарантира, че няма сериозни сривове на определени устройства.
2. Функционалност
Тестването за съвместимост проверява и общите характеристики и функции на дадено приложение, за да се гарантира, че софтуерът е в състояние да осигури правилните резултати. Например една система за управление на взаимоотношенията с клиенти може да не може да предлага данни за продажбите или общи анализи на потребители с остаряла операционна система.
3. Графики
Някои браузъри или устройства може да имат проблеми с изобразяването на определени графични елементи поради редица причини – и проверките за съвместимост могат да помогнат за това. Дадена програма може да функционира само при определени резолюции на екрана, освен ако разработчиците не променят начина, по който програмата показва съдържанието си.
4. Свързаност
Тестовете за съвместимост разглеждат и начина, по който програмата се интегрира както с устройството на потребителя, така и със собствената си база данни, което ѝ позволява да открива устройства като принтери. Тези проверки могат например да покажат, че приложението не може да се свърже със собствената си база данни в 3G мрежи.
5. Многофункционалност
Тези проверки гарантират, че приложението на компанията е достатъчно гъвкаво, за да работи на стари и нови версии на същата операционна система чрез тестове за обратна и предварителна съвместимост. Това гарантира, че потребителите няма да бъдат блокирани от програмата, ако софтуерът им е остарял с няколко години.
Видове резултати от тестовете за съвместимост
Трите основни резултата от тестовете за съвместимост са:
1. Резултати от тестовете
Най-често срещаният резултат от тези проверки са самите резултати, които могат да бъдат под различни форми. Например тестването за съвместимост с браузъри може да покаже, че дадено уеб приложение води до изтичане на памет в Microsoft Edge, докато същото приложение няма отрицателни ефекти в браузъри, базирани на Chrome. Алтернативно, приложението може да работи точно както екипът очаква на съответните платформи.
2. Протоколи от изпитвания
Резултатите от тестовете се проявяват и под формата на собствени дневници на приложението, които показват всички открити софтуерни проблеми чрез съобщения за грешки. Тези регистри могат дори да идентифицират конкретната част от програмата, която причинява тази грешка. По-специално при тестването за съвместимост тестерите трябва да са запознати с начина, по който тези логове се проявяват и представят тези проблеми в различните платформи.
3. Тестови случаи
Случаите за тестване на съвместимостта определят тестовете, които екипът ще извърши, и предлагат място за записване на резултатите в прост формат. Тестерите трябва да използват познанията си за софтуера, заедно с резултатите и регистрите, за да идентифицират причината за проблема. Колкото повече информация предоставят, толкова по-бързо разработчиците ще могат да започнат поправките на грешки.
Видове открити дефекти
чрез изпитване за съвместимост
Ето най-често срещаните грешки, които тестовете за съвместимост могат да идентифицират:
1. Мащабиране на оформлението
Тестът за съвместимост на уебсайтове може да покаже дали елементите, които съставляват дадено уеб приложение, или дори уеб страниците, са съобразени с устройството на потребителя, по-специално с резолюцията и размера на екрана му. В резултат на това някои графики може да са трудно видими в определени браузъри.
2. Сривове на софтуера
Тестовете за съвместимост улесняват проверката на това дали дадено приложение изобщо може да работи на някои платформи. Например разработчик на игри може да открие минималните системни изисквания за своя продукт, като провери кои устройства се сриват поради недостатъчна оперативна памет и скорост на процесора при стартирането му от тестерите.
3. Проблеми с валидирането на HTML/CSS
Различните браузъри и устройства четат кода по различен начин – някои от тях автоматично коригират прости грешки в кода, като например неправилно затваряне на HTML таг. Тестването за съвместимост с браузъра може да установи случаи на невалидни CSS, които пречат на приложението да генерира своето съдържание и дори основни функции.
4. Грешки при възпроизвеждане на видео
Много от съвременните видео плейъри използват HTML5 за стрийминг на видеоклипове онлайн, като това може да бъде ключова част от уеб приложението на дадена компания. Въпреки това екипите, които проверяват съвместимостта на браузърите на уебсайтовете, може да открият, че видео функциите на тяхното приложение не са съвместими с остарелите браузъри.
5. Сигурност на файловете
Тестването за съвместимост в софтуерното инженерство може да открие и проблеми със сигурността на файловете и разликите между устройствата. Например, по-новите версии на Windows имат по-силна защита на входно/изходните данни. Това може да доведе до затруднен достъп на приложението (например антивирусен софтуер) до файловете на устройството.
Процес на изпитване за съвместимост
Обичайните етапи на тестване на съвместимостта са:
1. Изготвяне на план за изпитване
Изчерпателният план за тестване е от решаващо значение за тестването на съвместимостта; екипът за осигуряване на качеството може да се позове на него при необходимост по време на проверките. Например, те трябва да посочат подробно устройствата, които ще тестват, и критериите за положителен или отрицателен резултат; те също така трябва да установят дали ще използват автоматизация на роботизираните процеси.
2. Конфигуриране на тестови случаи
Случаите на тестване са също толкова важни, тъй като в тях се описват конкретните проверки за съвместимост, които екипите извършват, и конкретните устройства, с които работят. Той съдържа и точните стъпки, които тестващите ще предприемат, както и достатъчно място, където да запишат резултатите и всякаква информация, която ще помогне на разработчиците да осигурят съвместимост.
3. Създаване на среда за тестване
Изолирана и независима среда за тестване, свободна от външни влияния, е необходима за осигуряване на точни тестове, което позволява на екипа за осигуряване на качеството да установи откъде идват откритите проблеми. Освен това тестващите могат да извършват своите проверки на приложението, без да нарушават по какъвто и да е начин „реалната“ версия.
4. Изпълнение на тестовете
След като тестовите случаи и средата са напълно подготвени, екипът може да започне тестовете за съвместимост – дори и с автоматизирано решение, той разполага само с ограничен период от време. Тестващите ще трябва да определят приоритетите на най-често срещаните операционни системи и конфигурации на устройствата, за да отчетат това и да осигурят широко покритие на тестовете въпреки тези ограничения.
5. Повторно тестване
След като тестовете приключат и разработчиците получат тестовите случаи, те ще променят приложението по начин, който подобрява неговата съвместимост, въпреки че това може да не е възможно за всички устройства. След това тестващите проверяват отново приложението и проверяват дали проблемите, които са открили преди, вече не са налице и дали няма нови големи грешки.
Общи показатели за тестване на съвместимостта
Ето някои общи показатели, използвани при тестовете за съвместимост:
1. Честотна лента
Тестовете за мрежова съвместимост измерват начина, по който приложението работи с различни мрежи, включително широколентови и мобилни мрежи за данни. Минималната широчина на честотната лента, необходима на програмата да изпълнява обичайните си задължения и да се свързва с базата данни на компанията, може да е твърде висока за средната 3G връзка, например.
2. Използване на процесора
Един от начините, по които се проявяват проблемите с производителността, е непропорционално високото използване на процесора – това може да означава, че устройството просто не отговаря на минималните изисквания на програмата. Проблемите с процесора могат да се отразят и на времето за реакция на приложението, да ограничат функционалността му и да причинят достатъчно забавяне, което да откаже потребителите.
3. Скала за използваемост на системата
Скалата за използваемост на системата е общ начин за измерване на субективните данни за дадена програма, който се състои от десет основни въпроса за използваемостта на дадено приложение. Полученият резултат по SUS е от 100 и може да се различава при различните платформи поради графични грешки.
4. Общ брой дефекти
Този показател е постоянен за повечето видове тестване и позволява на тестващите да разберат текущото състояние на програмата. Освен това екипът може да сравнява общия брой дефекти между различните платформи. По този начин тестващите могат да подчертаят грешките, които се дължат на несъвместимост.
5. Резултат от SUPRQ
Подобно на резултата от SUS на дадено приложение, въпросникът за персентилния ранг на стандартизираното потребителско изживяване е начин, по който тестващите оценяват дадено приложение по няколко ключови фактора, включително ползваемост и външен вид. Това им помага да установят как клиентите биха могли да се затруднят да използват приложението на определени устройства.
7 грешки и капани при прилагането на тестове за съвместимост
Ето седем основни грешки, които трябва да избягвате при провеждане на тестове за съвместимост:
1. Липса на реални устройства
Въпреки че е невъзможно да се тества на всички възможни комбинации от устройства, екипът за тестване все пак може да извлече полза от използването на възможно най-много реални устройства. Различни платформи предлагат „реални“ устройства чрез облачни решения, за да се улесни тестването на съвместимостта с различни браузъри по начин, който може да отрази естествената производителност.
2. Избягване на по-стари устройства
Много потребители все още имат достъп до приложенията си с по-стари версии на Windows или iOS; фокусирането изцяло върху новите версии на популярни устройства и операционни системи може да ограничи обхвата на продукта. Ако екипът не разшири тестовете си до „остарели“ устройства, значителна част от аудиторията може да се затрудни да използва програмата.
3. Неправилно управление на времето
Често има голям брой устройства и конфигурации, които изискват тест за съвместимост, което означава, че екипът трябва да разпредели времето си, за да провери възможно най-много от тях. Това е важно, тъй като тестовете обикновено все още се провеждат в края на разработката; неправилното управление може да ограничи значително броя на проверките.
4. Неправилно планиране
Също така е от първостепенно значение екипите да се уверят, че провеждат тези тестове на разумен етап от разработването на програмата, за предпочитане след алфа тестването и повечето форми на функционално тестване. Така е по-лесно да се разбере дали даден проблем е общ дефект или е специфичен за устройствата, които екипът разглежда.
5. Не отчитане на резолюцията на екрана
Разделителната способност на екрана може да бъде много по-голям фактор за съвместимостта, отколкото много екипи за тестване признават – особено като се има предвид, че тя може да се настройва и влияе върху начина, по който устройството показва графичните елементи. Дори при наближаващ краен срок за тестовете за съвместимост е жизненоважно екипите за тестване да работят, за да го включат в стратегията си.
Липса на опит
Тестерите трябва да са висококвалифицирани, за да проверяват съвместимостта на уебсайтове, браузъри и софтуер, наред с многото други форми, които тези тестове могат да приемат. Ако ръководителят на тестовете възложи на един от членовете на екипа си да извършва проверки за съвместимост, а той няма достатъчно опит, това може да забави тестовете и да ограничи тяхната точност.
6. Без предварително обсъждане
Тъй като тестовете за съвместимост често отнемат много време (и потенциално изискват широк набор от устройства), екипите трябва да определят напълно обхвата на своите проверки още на етапа на осигуряване на качеството. Например те трябва да имат ясна представа кои конкретни устройства или конфигурации възнамеряват да тестват още преди началото на проверките.
Най-добри практики за тестване на съвместимостта
Най-добрите начини за осигуряване на висококачествени тестове за съвместимост включват:
1. Тестване по време на разработката
Тъй като софтуерът се променя значително от седмица на седмица, това може да повлияе на съвместимостта на програмата с предназначените за нея устройства. Екипите трябва многократно да извършват тестове за съвместимост със софтуера и с различни браузъри, за да се уверят, че приложението продължава да работи добре на тези платформи след промени в разработката.
2. Използване на реални устройства
Някои инструменти за тестване на съвместимостта предлагат достъп до „реални“ симулирани устройства, които са в състояние да наподобят в голяма степен потребителското преживяване за съответната платформа. Това ви позволява да осигурите съвместимост с повече устройства, като същевременно поддържате високо ниво на точност, което не е налице при някои автоматизирани решения.
3. Приоритизиране на тестовете
При ограничено време за извършване на тези проверки може да се наложи тестващите съвместимостта да определят приоритетите на най-често срещаните устройства, браузъри и операционни системи. По същия начин екипът за тестване трябва първо да провери най-критичните функции на софтуера, за да гарантира основната функционалност на тези устройства.
4. Интегриране на гъвкави техники
Някои компании избират да възприемат подход, базиран на спринтове, за своите тестове за съвместимост, което им позволява лесно да достигнат етапните цели на тестването – например проверка на определен брой устройства. Agile насърчава комуникацията между отделите, като същевременно осигурява определена структура на тестовете, която може да гарантира последователно и бързо подобрение.
5. Ограничаване на обхвата на тестването
Екипите за осигуряване на качеството трябва да знаят кога да прекратят тестовете си и дори да приемат случай на несъвместимост. В този случай разработчикът може да не променя софтуера, а вместо това да промени минималните изисквания, ако това би било твърде трудно да се заобиколи чрез поправки на грешки.
Примери за тестови случаи и сценарии за съвместимост
Тестовите случаи за съвместимост определят входните данни на екипа по тестване, стратегията за тестване и очакваните резултати, които се сравняват с действителните резултати. Тъй като проверките обхващат много устройства и конфигурации, това често е продължителен процес.
Тези случаи обикновено включват:
– Тествайте правилното показване на HTML кода на уеб приложението.
– Проверете дали JavaScript кодът на софтуера е използваем.
– Проверете дали приложението работи при различни резолюции.
– Проверете дали програмата има достъп до файловата директория.
– Уверете се, че приложението се свързва с всички жизнеспособни мрежи.
Ето конкретни примери за тестване на съвместимостта при тестване на софтуер за различни програми:
1. Приложение за социални мрежи
Социалните мрежи обикновено са под формата на уеб приложения за браузъри и мобилни приложения за съответните устройства; и двата вида изискват еднакво задълбочено тестване. Например това мобилно приложение трябва да е напълно функционално на устройства с iOS и Android като минимум – екипът проверява стари и нови устройства под всяка операционна система. Ако например определен модел iPhone не може да визуализира анимирани GIF файлове, екипът трябва да установи каква е причината за това, за да осигури последователно потребителско изживяване.
2. Видеоигра
Видеоигрите обикновено предлагат графични опции с възможност за персонализиране, които потребителите могат да променят така, че да съответстват на тяхната машина; това включва контрол на разделителната способност на екрана и осигуряване на подходящо мащабиране на потребителския интерфейс. Някои проблеми могат да се появят в зависимост от специфичния хардуер на играча – грешки при антиалайсинга водят до зърнеста графика. Това може да се дължи на обща графична карта, която е несъвместима с визуализацията на текстурите на компанията. В зависимост от конкретния проблем това може да се прояви дори като срив на системата при стартиране на играта на определени устройства.
3. CRM облачна система
Решенията за управление на взаимоотношенията с клиентите използват в голяма степен бази данни за извличане на информация за техните транзакции, доставчици и други важни аспекти на бизнеса, главно с помощта на облачно съхранение. Тестващите трябва да се уверят, че тази база данни и нейните облачни услуги работят в различни мрежи, включително 3G и 4G, ако потребителят трябва да има достъп до нея без интернет връзка. Освен това екипът трябва да провери широк спектър от операционни системи, тъй като някои грешки могат да се появят само на устройства с Linux, например.
Ръчни или автоматични тестове за съвместимост?
Автоматизацията може да бъде много полезна за тестовете за съвместимост, тъй като позволява на екипите да проверяват голям брой устройства много по-бързо, отколкото при ръчен подход. Ръчното тестване обаче може да е по-подходящо, когато се извършват проверки на ограничен брой браузъри и устройства – например видеоигра, достъпна само за две платформи. Ползваемостта на софтуера често е основен фактор при тестовете за съвместимост и обикновено изисква човешка гледна точка, която може да идентифицира по-добре проблемите с графичното изобразяване. Автоматизацията на роботизираните процеси може да помогне за това чрез внедряване на софтуерни роботи, които могат по-лесно да имитират подхода на човешкия потребител към тестовете за съвместимост.
При програми, предназначени за широк кръг устройства, като мобилни и уеб приложения, автоматизацията позволява на екипа да осигури по-широко покритие на тестовете. Те дори биха могли да използват хиперавтоматизация за интелигентно възлагане на тези проверки по начин, който все пак гарантира, че човешките тестери проверяват тези платформи за специфична за потребителя функционалност. Тестването за съвместимост при ръчното тестване все още е задължително за някои задачи – например за проверка на правилното показване на потребителския интерфейс на всяко устройство. Това означава, че най-добрият подход би могъл да бъде смесена стратегия, която може да тества повече устройства като цяло чрез автоматизация, увеличавайки темпото им, като същевременно отчита значението на използваемостта.
Какво ви е необходимо, за да започнете тестване за съвместимост?
Основните предпоставки за тестване на съвместимостта обикновено включват:
1. Квалифициран персонал за изпитване
Изискванията към изпитвачите за съвместимост обикновено са по-високи от тези при други форми на осигуряване на качеството, тъй като те проверяват по-широк кръг от устройства и често се сблъскват с повече грешки. Това може да включва решаване на проблеми, комуникация и внимание към детайлите. Ръководителите на екипи трябва да назначат тестери, които имат опит в проверката на едно и също приложение на много платформи.
2. Силна емулация на устройства
Трудно е да се набавят източници и да се тества всяко физическо устройство в обхвата на екипа, поради което емулацията е от съществено значение, за да се види как различните платформи реагират на една и съща програма. Този процес рядко е перфектен и тестващите трябва да разгледат многото налични емулатори и инструменти за автоматизирано тестване, за да видят кой от тях предлага най-голяма точност.
3. Ясен обхват на тестване
Преди началото на проверките екипът трябва да е наясно с обхвата си, особено като се има предвид, че това може да определи темпото на работа. Въпреки че програмата може да има за цел да обхване много платформи, тестващите трябва да определят подходяща гранична точка. Например тестването на операционни системи, пуснати преди Windows 7, може да доведе до намаляване на възвръщаемостта.
4. Управление на времето
Тестването за съвместимост може да се извърши във всеки един момент от етапа на осигуряване на качеството, но обикновено се запазва за края на разработката – когато програмата е стабилна и с всички функции. Тестващите обаче трябва да обмислят съвместимостта много преди това, тъй като това често отнема много време. Доброто предварително планиране помага на екипа да гарантира, че разполага с достатъчно време за всяка проверка.
Тестване на съвместимостта
контролен списък, съвети и трикове
Ето и допълнителни съвети, които екипите за осигуряване на качеството трябва да имат предвид при провеждането на тестове за съвместимост:
1. Не се стремете към абсолютно покритие
Макар че всяка стратегия за тестване има за цел да увеличи максимално покритието на тестовете, тя обикновено спира преди да достигне 100% поради намаляващата възвръщаемост при незначителни подобрения за много малко потребители. В контекста на съвместимостта екипите трябва да разберат кога твърде малък брой от техните клиенти ще използват дадено устройство, за да има смисъл от тези проверки.
2. Приоритизиране на комбинациите между браузъри
Тестването на съвместимостта с различни браузъри включва проверка на всеки браузър с различни операционни системи. Тестерите трябва да използват цялостни анализи за своята аудитория, за да определят най-популярните от двете и да използват това, за да направляват своя подход. Те могат дори да разработят матрица за съвместимост на браузърите, която да определи обхвата на тези проверки и техните разнообразни конфигурации.
3. Проверка на оформлението
В основата на тестването за съвместимост е осигуряването на последователно изживяване и тези проверки трябва да са по-дълбоки от това да се установи дали функциите на програмата работят на различни устройства. Екипите трябва също така да проверят цялостното оформление на софтуера, включително подравняването на всички форми или таблици, както и целостта на CSS и HTML на програмата.
4. Проверка на API
Интерфейсите за програмиране на приложения са основен компонент на начина, по който браузърите четат приложенията, което ги прави жизненоважни за тестването на съвместимостта с различни браузъри от страна на екипа. Различните уеб браузъри имат свои собствени API повиквания и актуализациите им с течение на времето могат да повлияят на съвместимостта. Тестерите трябва да ги проверяват редовно; дори ако компанията използва подобен API за всяка програма.
5. Разглеждане на SSL сертификата
SSL сертификатите повишават сигурността на браузъра – криптират уеб трафика и позволяват на потребителите да се възползват от протоколите HTTPS. Възможно е даден уебсайт или уеб приложение да има сертификат, който е несъвместим с определени браузъри. Това означава, че тестващите трябва да валидират сертификата на всички основни платформи, за да се уверят, че потребителите се чувстват сигурни в техния уебсайт.
6. Утвърждаване на видео плейъри
Програмите, които показват видеоклипове, като например услуги за стрийминг или безплатни мобилни игри, поддържани от реклами, трябва да бъдат подложени на тестове, за да се гарантира, че тези видеоклипове се показват на всички предвидени устройства. За много от приложенията тези проверки ще включват както настолни, така и мобилни устройства и могат да разглеждат качеството, скоростта и честотата на кадрите на видеото.
5 най-добри инструмента и софтуера за тестване на съвместимостта
Най-ефективните безплатни и платени инструменти за тестване на съвместимостта включват:
1. ZAPTEST Free & Enterprise Edition
ZAPTEST предлага отлична функционалност както в безплатните, така и в платените си издания, като помага на компании от всякакъв размер (или бюджет) при проверките за съвместимост. Компаниите, които изберат версията Enterprise на ZAPTEST, могат да се възползват от възвръщаемост, която достига до 10 пъти първоначалните им инвестиции. Функцията 1SCRIPT на решението е специално адаптирана към нуждите на тестерите за съвместимост, като им позволява да изпълняват едни и същи тестове на различни платформи, без да променят кода. Добавете най-съвременната функционалност на RPA без допълнителни разходи и ще получите цялостно решение за автоматизация на всяка задача.
2. LambdaTest
LambdaTest използва подход, базиран на облак, за да предостави 3000 автоматизирани устройства – макар и със значителен акцент върху уеб браузърите, което може да ограничи ефективността на това решение за определени програми. Платформата е специализирана в непрекъснатото тестване, като интегрира по-тясно процеса на осигуряване на качеството с разработването. Проверките на това приложение също така позволяват на потребителите да задават своята разделителна способност, което значително улеснява тестването на съвместимостта с различни браузъри. Това решение предлага безплатен модел, който обаче включва ограничени тестове без надграждане и без реални устройства.
3. BrowserStack
Подобно на LambdaTest, BrowserStack предоставя достъп до 3000 реални устройства; каталогът им включва и стари и бета варианти за браузъри. Въпреки че хората по-често обновяват браузъра си, отколкото операционната си система, все още може да има много хора, които използват по-стари версии – BrowserStack се съобразява с това. Потребителите могат също така да провеждат тестове за геолокация, за да видят как изглеждат уебсайтовете и уеб приложенията в различни държави. Въпреки това няма безплатни или безплатни опции, а тестването на реални устройства може да бъде бавно.
4. TestGrid
TestGrid позволява паралелно тестване, като позволява на екипите да проверяват няколко комбинации едновременно, за да ускорят процеса. Това решение също така се интегрира добре с работния процес на тестване и разработка – евентуално улеснява гъвкавия подход, като представлява ключова част от спринтовете на отдела. Въпреки това TestGrid понякога има проблеми със свързването с облачни устройства и браузъри. Освен това програмата е доста ограничена по отношение на тестовете за натоварване, документацията и добавянето на нови устройства към конфигурацията на компанията.
5. Browsera
Browsera се фокусира основно върху тестването на уебсайтове, за да се гарантира, че те се показват правилно на различни устройства, браузъри и операционни системи. Тъй като подходът е базиран на облак, не е необходимо екипите за осигуряване на качеството да инсталират тази виртуална лаборатория за тестване на своите устройства. Browsera може също така да сравнява резултатите, за да открива интелигентно проблеми с оформлението и грешки в JavaScript, които дори човекът тестер може да пропусне. Въпреки това Browsera не поддържа няколко често използвани браузъра, включително Opera, и предлага безплатно само основни тестови функции.
Заключение
Тестването за съвместимост е от решаващо значение за успешната стратегия за осигуряване на качеството, тъй като позволява на екипите да валидират своите приложения на широк кръг от устройства. Ако не възприемат тази техника, компаниите може да не знаят, че техният софтуер няма да работи за голяма част от целевата им аудитория до момента на пускането му на пазара. Това струва много време и пари в сравнение с тестването преди пускане в експлоатация, а приложения като ZAPTEST могат да оптимизират този процес още повече. С 1SCRIPT и много други безплатни функции, като например паралелно тестване, изборът на ZAPTEST като инструмент за тестване може да промени всеки проект, като даде на екипите пълна увереност в тяхното приложение.