1. Техники, базирующиеся на интуиции и опыте текстолога:
1.1. специализированное тестирование, при котором тесты основываются на опыте и интуиции, и аналогии с ранее проведенными тестами;
1.2. исследовательское тестирование – техника, при которой одновременно осуществляется и обучение, и проектирование теста, и выполнение теста.
2. Техники, базирующиеся на спецификации:
2.1. эквивалентное разделение (приложение). В данном подходе к тестированию приложение разделяется на коллекцию классов, которые считаются аналогичными с точки зрения рассматриваемых требований, и для них применимы тесты, используется для эквивалентных классов;
2.2. анализ граничных значений – тесты строятся таким образом, чтобы система функционировала на предельных своих характеристиках. Иногда данный тест может преобразовываться в тест оценки живучести системы, который предполагает введение таких входных значений в систему, чтобы она функционировала за пределами своих граничных характеристик;
2.3. таблица принятия решений – данные тесты представляют собой логические связи между условиями и данными;
2.4. набор тестов строится последовательным рассмотрением всех возможных связей между условиями и данными;
2.5. тесты на основе конечного автомата строятся в виде комбинаций тестов для всех состояний и переходов из состояния в модели автоматов;
2.6. случайное тестирование – методика состоит в том, что при наличии большой выборки тестов различного вида с определенной периодичностью какие-то з них могут запускаться в случайном порядке.
3. Ориентированные на программный код техники:
3.1. тестирование по блок-схеме – дополнительная методика состоит в том, что проверяются все переходы и выражения, указанные в блок-схеме или диаграмме действия;
3.2. тесты, основанные на потоках данных – смысл данной методики тестирования заключается в том, что отслеживаются на этапе выполнения всей программы значения определенных переменных, при этом существует теоретическое распределение данных значений, при определенных входных данных и реализации они должны совпадать;
3.3. ссылочные модели тестирования – в данном методе рассматривается структура программы в виде дерева вызовов, т.е. анализируется, в каком порядке вызываются те или иные компоненты (модули программы);
3.4. тестирование, ориентированное на дефекты:
3.4.1.1. предположение ошибок – построение тестов, направленное на поиск наиболее распространенных ошибок;
3.4.1.2. тестирование мутаций. Мутация – небольшое изменение в тестировании программы, произошедшее за счет частых синтаксических изменений кода. Данная методика позволяет оценивать , насколько мутировавшие варианты программы отличаются от исходного варианта кода.
3.5. техника, базирующаяся на условиях применения:
3.5.1.1.операционный профиль – методика тестирования в условиях использования системы;
3.5.1.2. тестирование, базирующееся на надежности инженерного процесса – методика заключается в тестировании системы в условиях разработки.
4. Техники, базирующиеся на природе приложения, т.е. специфические подохды, используемые для конкретных типов приложений, такие как:
Объектно-ориентированное тестирование;
Компонентно-ориентированное тестирование;
Web-ориентированное тестирование (отладка web-приложений);
Тестирование на соответствие реальному времени.
Вид тестирования
2013-10-01 14:36
Подскажите плз. Как называется процесс, при котором разработчик сначала пишет тесты на новую функциональность, а затем разрабатывает ее?
Инженер по тестированию ПО
2013-10-01 16:55 Altarix – быстрорастущая компания, специализирующаяся на разработке программного обеспечения уровня Enterprise ready, мобильных сервисов и приложений. Компания Altarix является партнером крупнейших производителей мобильных устройств и операторов мобильной связи. Мобильные сервисы, в разработке которых принимали участие специалисты Altarix, используют миллионы человек.
Сегодня в компании работает более 120 специалистов из разных областей информационных технологий. Офисы компании находятся в Москве, Санкт-Петербурге и Самаре.
В нашу команду требуется Инженер по тестированию ПО.
Обязанности:
Ручное тестирование мобильных приложений и сервисов: новый функционал, проверка исправлений, регрессионное тестирование
Регистрация выявленных дефектов
Составление отчетов по результатам выполненной работы
Разработка тестовой документации и поддержка ее в актуальном состоянии
В дальнейшем: автоматизация процесса тестирования
Требования в кандидатам:
Профессиональные:
Опыт работы в сфере тестирования ПО от 1 года
Опыт написания тестовой документации (желательно)
Опыт работы с системами баг-трекинга
Хорошие знания русского языка (чтобы видеть ошибки в текстах)
Личные качества:
Умение четко излагать свои мысли
Ответственность
Внимательность
Стрессоустойчивость
Умение логически мыслить
Условия:
Профессиональный и дружный коллектив
Оформление согласно ТК РФ
Стабильность и конкурентоспособная заработная плата
Возможности профессионального и карьерного роста
Программы развития: обучающие семинары и тренинги
Работа в офисе рядом с м.ВДНХ и Ботанический сад
Уровень заработной платы обсуждается по результатам собеседования
При запуске теста выскакивает окно: Прекращена работа программы "Firefox"
Если нажать на "показать подробности проблемы": Имя модуля с ошибкой: StackHash_0a9e.
Эклипс выдает:
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
*** LOG addons.manager: Application has been upgraded
*** LOG addons.xpi: startup
*** LOG addons.xpi: Skipping unavailable install location app-system-local
*** LOG addons.xpi: Skipping unavailable install location app-system-share
*** LOG addons.xpi: Ignoring file entry whose name is not a valid add-on ID: C:\Users\BOOMER~1\AppData\Local\Temp\anonymous7466963090757123520webdriver-profile\extensions\webdriver-staging
*** LOG addons.xpi: checkForChanges
*** LOG addons.xpi-utils: Opening database
*** LOG addons.xpi-utils: Creating database schema
*** LOG addons.xpi: New add-on fxdriver@googlecode.com installed in app-profile
*** Blocklist::_loadBlocklistFromFile: blocklist is disabled
*** LOG addons.xpi: New add-on {972ce4c6-7e08-4474-a285-3208198ce6fd} installed in app-global
*** LOG addons.xpi: Updating database with changes to installed add-ons
*** LOG addons.xpi-utils: Updating add-on states
*** LOG addons.xpi-utils: Writing add-ons list
*** LOG addons.xpi: startup
*** LOG addons.xpi: Skipping unavailable install location app-system-local
*** LOG addons.xpi: Skipping unavailable install location app-system-share
*** LOG addons.xpi: Ignoring file entry whose name is not a valid add-on ID: C:\Users\BOOMER~1\AppData\Local\Temp\anonymous7466963090757123520webdriver-profile\extensions\webdriver-staging
*** LOG addons.xpi: checkForChanges
*** LOG addons.xpi-utils: Opening database
*** LOG addons.xpi: No changes found
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:106)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:251)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:197)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:99)
at com.example.tests.Untitled.setUp(Untitled.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)