SlideShare una empresa de Scribd logo
1 de 37
Алексей Баранцев, Software-Testing.Ru
19-20 ноября 2010, Санкт-Петербург
1. Основные техники функционального тестирования
2. Модульное тестирование: техники и инструменты
3. Тестирование защищенности веб-приложений
4. Стандарты в области тестирования и их применение на практике
5. Тестирование производительности веб-приложений
6. Работа с исходным программным кодом
7. Функциональное тестирование на основе моделей
8. Автоматизация функционального тестирования веб-приложений
9. Функциональное тестирование на основе вариантов использования
10. Управление требованиями, запросами на изменение и дефектами
11. Инструменты автоматизации тестирования семейства Selenium
12. Тестирование методом свободного поиска (exploratory testing)
13. Регрессионное тестирование
14. Тестирование веб-сервисов
15. Бесплатные и недорогие инструменты тестирования
 Читать / анализировать
 глазами
 автоматизированный статический анализ
 автоматизированный динамический анализ
 Модифицировать
 статически
 динамически
 Статический анализ
 Динамический анализ
 Статическая модификация
 Динамическая модификация
 Собственно код программы на ЯП
 Запросы к БД, триггеры, «хранимки»
 Дизайн / верстка
 Ресурсные файлы
 Внутренние настроечные файлы
 Код «чужих» используемых компонентов
 Code review могут делать тестировщики!
 Первичная проверка локализации – чтение
ресурсных файлов, желательно с
инструментом проверки орфографии
 Чтение комментариев в коде
 «этого никогда не должно случиться!»
 Поиск чего-нибудь «подозрительного»
 http://www.fujinonbinos.com/
 Beyond Compare
 Compare It!
 Анализ журнала компиляции
 Повышение уровня «подозрительности»
компилятора / интерпретатора
 use strict; use warnings; -T (Perl)
 -Wall, -Wextra, -Werror (С/С++)
 -Xlint (Java)
 http://en.wikipedia.org/wiki/Cyclomatic_complexity
 http://kapustin-andrey.boom.ru/Materials/Metrics2.htm
 Среды разработки (Eclipse, VSTS)
 Специализированные инструменты
 PMD (Java)
 Saikuro (Ruby)
 Sonar (Java, …)
 Автоматизированный сквозной анализ
кода, отчёт о «подозрительных» местах
 PMD, FindBugs (Java)
 FxCop (.Net)
 Ручной целенаправленный поиск
 NDepend
public void doSomething() {
try {
FileInputStream fis =
new FileInputStream("file.txt");
} catch (IOException ioe) {
// not good
}
}
public class Foo {
public void bar() {
System.exit(0);
}
}
 Неинициализированные переменные
 Проход по нулевому указателю
 Выход за границы массива
 Отсутствие проверки полученных от
пользователя данных перед
использованием
 …
 Пути распространения влияния
 дефектов
 изменений
 Среды разработки (Eclipse, MSVS)
 Специализированные инструменты
 Clover, EMMA, JCoverage, … (Java)
 Ncover (.Net)
 Flexcover (Flex)
 rcov (Ruby)
 PHPCoverage (PHP)
 xCover (C/C++)
 Функции
 Строки
 Операторы
 Ветви
 Предикаты
 Дизъюнкты
 Пути
 Pex (.Net)
 Среды разработки (Eclipse, MSVS)
 JVM Tooling Interface
 Специализированные инструменты
 YourKit, Jprobe, AppPerfect (Java)
 JetBrains dotTrace (.Net)
void foo() {
for (...) {
if (...) return;
}
// Execution should never reach this point!
assert false;
}
 Стабы
 заглушки на внешние интерфейсы
 Моки
 заглушки на внутренние интерфейсы
 Фейки
 искусственное управляемое окружение
 AspectJ
 AspectWerkz
 Hyper/J JAC
 JMangler
 MixJuice
 PROSE
 ArchJava
public class TestClass {
public void sayHello () {
System.out.println ("Hello, AOP");
}
public void sayAnyThing (String s) {
System.out.println (s);
}
public static void main (String[] args) {
sayHello ();
sayAnyThing ("ok");
}
}
public aspect MyAspect {
public pointcut sayMethodCall ():
call (public void TestClass.say*() );
before(): sayMethodCall() {
System.out.println("n TestClass." +
thisJoinPointStaticPart.getSignature().getName() + "start..." );
}
after(): sayMethodCall() {
System.out.println("n TestClass." +
thisJoinPointStaticPart.getSignature().getName() + " end...");
}
}
 Алексей Баранцев
 Software-Testing.Ru
 http://software-testing.ru/trainings/

Más contenido relacionado

La actualidad más candente

Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)sqadays8
 
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...SQALab
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...SQALab
 
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийSQALab
 
Ui testing how intel does this
Ui testing   how intel does thisUi testing   how intel does this
Ui testing how intel does thisAlexei Lupan
 
Андрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибокАндрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибокSQALab
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестированиеSQALab
 
Профилактика дефектов
Профилактика дефектовПрофилактика дефектов
Профилактика дефектовSQALab
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?sqadays8
 
JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1sgdread
 
юнит тестирование Fork
юнит тестирование Forkюнит тестирование Fork
юнит тестирование ForkSergey Oreshkov
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQAFest
 

La actualidad más candente (19)

Sqa8 urazov
Sqa8 urazovSqa8 urazov
Sqa8 urazov
 
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
 
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
 
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложений
 
Ui testing how intel does this
Ui testing   how intel does thisUi testing   how intel does this
Ui testing how intel does this
 
Андрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибокАндрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибок
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестирование
 
Профилактика дефектов
Профилактика дефектовПрофилактика дефектов
Профилактика дефектов
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
 
лекция3 QA
лекция3 QAлекция3 QA
лекция3 QA
 
лекция4 qa
лекция4 qaлекция4 qa
лекция4 qa
 
QA Лекция2
QA Лекция2QA Лекция2
QA Лекция2
 
План тестирования сайта
План тестирования сайтаПлан тестирования сайта
План тестирования сайта
 
JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1JavaTalks.Unit Testing.Part 1
JavaTalks.Unit Testing.Part 1
 
юнит тестирование Fork
юнит тестирование Forkюнит тестирование Fork
юнит тестирование Fork
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 

Destacado

Serious+performance+testing
Serious+performance+testingSerious+performance+testing
Serious+performance+testingAlexei Lupan
 
сергей андреев
сергей андреевсергей андреев
сергей андреевAlexei Lupan
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиковAlexei Lupan
 
Чему хороший ПМ может научиться у хорошего врача
Чему хороший ПМ может научиться у хорошего врачаЧему хороший ПМ может научиться у хорошего врача
Чему хороший ПМ может научиться у хорошего врачаIvan Selikhovkin
 
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочинеAlexei Lupan
 
Мелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательностиМелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательностиAlexei Lupan
 
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...QAFest
 
евгения фирсова нерелизное тестирование
евгения фирсова   нерелизное тестированиеевгения фирсова   нерелизное тестирование
евгения фирсова нерелизное тестированиеAlexei Lupan
 
Oleynikov sqa days 8_deck
Oleynikov sqa days 8_deckOleynikov sqa days 8_deck
Oleynikov sqa days 8_deckAlexei Lupan
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаAlexei Lupan
 
ирина карачунская что ждет тестировщика итог-Fin
ирина карачунская   что ждет тестировщика итог-Finирина карачунская   что ждет тестировщика итог-Fin
ирина карачунская что ждет тестировщика итог-FinAlexei Lupan
 
алексей лупан мал да удал
алексей лупан   мал да удалалексей лупан   мал да удал
алексей лупан мал да удалAlexei Lupan
 
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...GTestClub
 
Тренировка служебных тестировщиков
Тренировка служебных тестировщиковТренировка служебных тестировщиков
Тренировка служебных тестировщиковSQALab
 
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...Dakiry
 
размышления об аутсорсинге Sqa days 2010
размышления об аутсорсинге Sqa days 2010размышления об аутсорсинге Sqa days 2010
размышления об аутсорсинге Sqa days 2010Alexei Lupan
 
[Sqa days]risk driven testing
[Sqa days]risk driven testing[Sqa days]risk driven testing
[Sqa days]risk driven testingAlexei Lupan
 
Sq adays 2010_balashenko
Sq adays 2010_balashenkoSq adays 2010_balashenko
Sq adays 2010_balashenkoAlexei Lupan
 
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarktQA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarktQAFest
 
Наталья Руколь - Sqamaps
Наталья Руколь - SqamapsНаталья Руколь - Sqamaps
Наталья Руколь - SqamapsAlexei Lupan
 

Destacado (20)

Serious+performance+testing
Serious+performance+testingSerious+performance+testing
Serious+performance+testing
 
сергей андреев
сергей андреевсергей андреев
сергей андреев
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиков
 
Чему хороший ПМ может научиться у хорошего врача
Чему хороший ПМ может научиться у хорошего врачаЧему хороший ПМ может научиться у хорошего врача
Чему хороший ПМ может научиться у хорошего врача
 
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
 
Мелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательностиМелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательности
 
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
 
евгения фирсова нерелизное тестирование
евгения фирсова   нерелизное тестированиеевгения фирсова   нерелизное тестирование
евгения фирсова нерелизное тестирование
 
Oleynikov sqa days 8_deck
Oleynikov sqa days 8_deckOleynikov sqa days 8_deck
Oleynikov sqa days 8_deck
 
андрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчикаандрей дмитриев взгляд со стороны разработчика
андрей дмитриев взгляд со стороны разработчика
 
ирина карачунская что ждет тестировщика итог-Fin
ирина карачунская   что ждет тестировщика итог-Finирина карачунская   что ждет тестировщика итог-Fin
ирина карачунская что ждет тестировщика итог-Fin
 
алексей лупан мал да удал
алексей лупан   мал да удалалексей лупан   мал да удал
алексей лупан мал да удал
 
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
 
Тренировка служебных тестировщиков
Тренировка служебных тестировщиковТренировка служебных тестировщиков
Тренировка служебных тестировщиков
 
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
 
размышления об аутсорсинге Sqa days 2010
размышления об аутсорсинге Sqa days 2010размышления об аутсорсинге Sqa days 2010
размышления об аутсорсинге Sqa days 2010
 
[Sqa days]risk driven testing
[Sqa days]risk driven testing[Sqa days]risk driven testing
[Sqa days]risk driven testing
 
Sq adays 2010_balashenko
Sq adays 2010_balashenkoSq adays 2010_balashenko
Sq adays 2010_balashenko
 
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarktQA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
QA Fes 2016. Игорь Любин. Об автоматическом тестировании бэкенда в MediaMarkt
 
Наталья Руколь - Sqamaps
Наталья Руколь - SqamapsНаталья Руколь - Sqamaps
Наталья Руколь - Sqamaps
 

Similar a Sqadays 8-barancev

Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюSQALab
 
Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)Dmitry Lobasev
 
Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...Aliaksandr Ikhelis
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндексyaevents
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...QA Club Minsk
 
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...Andrey Fadin
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CAlexey Lustin
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
 
Эффективная архитектура мобильной автоматизации
Эффективная архитектура мобильной автоматизации Эффективная архитектура мобильной автоматизации
Эффективная архитектура мобильной автоматизации ISsoft
 
JVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииJVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииNikita Lipsky
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеSQALab
 
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionJVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionNikita Lipsky
 
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Dmitry Andreev
 

Similar a Sqadays 8-barancev (20)

Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решению
 
Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)
 
Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
 
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
Java 9 - кратко о новом
Java 9 -  кратко о новомJava 9 -  кратко о новом
Java 9 - кратко о новом
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
Эффективная архитектура мобильной автоматизации
Эффективная архитектура мобильной автоматизации Эффективная архитектура мобильной автоматизации
Эффективная архитектура мобильной автоматизации
 
JVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииJVM: краткий курс общей анатомии
JVM: краткий курс общей анатомии
 
Java 2 - Java Intro
Java 2 - Java IntroJava 2 - Java Intro
Java 2 - Java Intro
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
 
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionJVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
 
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
 

Más de Alexei Lupan

Когда требования никакие (Dump 2015)
Когда требования никакие (Dump 2015)Когда требования никакие (Dump 2015)
Когда требования никакие (Dump 2015)Alexei Lupan
 
Алексей Лупан - Да перестаньте уже автоматизировать
Алексей Лупан - Да перестаньте уже автоматизироватьАлексей Лупан - Да перестаньте уже автоматизировать
Алексей Лупан - Да перестаньте уже автоматизироватьAlexei Lupan
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиковAlexei Lupan
 
New девять правил семпая, или как стать успешным наставником
New девять правил семпая, или как стать успешным наставникомNew девять правил семпая, или как стать успешным наставником
New девять правил семпая, или как стать успешным наставникомAlexei Lupan
 
Sqadays2010 nalyutin
Sqadays2010 nalyutinSqadays2010 nalyutin
Sqadays2010 nalyutinAlexei Lupan
 
Андрей Кузьмичев - яндекс в городе
 Андрей Кузьмичев - яндекс в городе Андрей Кузьмичев - яндекс в городе
Андрей Кузьмичев - яндекс в городеAlexei Lupan
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina TananaevaAlexei Lupan
 
Наталья Руколь - Sqa career
Наталья Руколь - Sqa careerНаталья Руколь - Sqa career
Наталья Руколь - Sqa careerAlexei Lupan
 
Orlov qa leadership
Orlov qa leadershipOrlov qa leadership
Orlov qa leadershipAlexei Lupan
 
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionAlexei Lupan
 

Más de Alexei Lupan (10)

Когда требования никакие (Dump 2015)
Когда требования никакие (Dump 2015)Когда требования никакие (Dump 2015)
Когда требования никакие (Dump 2015)
 
Алексей Лупан - Да перестаньте уже автоматизировать
Алексей Лупан - Да перестаньте уже автоматизироватьАлексей Лупан - Да перестаньте уже автоматизировать
Алексей Лупан - Да перестаньте уже автоматизировать
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиков
 
New девять правил семпая, или как стать успешным наставником
New девять правил семпая, или как стать успешным наставникомNew девять правил семпая, или как стать успешным наставником
New девять правил семпая, или как стать успешным наставником
 
Sqadays2010 nalyutin
Sqadays2010 nalyutinSqadays2010 nalyutin
Sqadays2010 nalyutin
 
Андрей Кузьмичев - яндекс в городе
 Андрей Кузьмичев - яндекс в городе Андрей Кузьмичев - яндекс в городе
Андрей Кузьмичев - яндекс в городе
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina Tananaeva
 
Наталья Руколь - Sqa career
Наталья Руколь - Sqa careerНаталья Руколь - Sqa career
Наталья Руколь - Sqa career
 
Orlov qa leadership
Orlov qa leadershipOrlov qa leadership
Orlov qa leadership
 
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
 

Sqadays 8-barancev

  • 1. Алексей Баранцев, Software-Testing.Ru 19-20 ноября 2010, Санкт-Петербург
  • 2. 1. Основные техники функционального тестирования 2. Модульное тестирование: техники и инструменты 3. Тестирование защищенности веб-приложений 4. Стандарты в области тестирования и их применение на практике 5. Тестирование производительности веб-приложений 6. Работа с исходным программным кодом 7. Функциональное тестирование на основе моделей 8. Автоматизация функционального тестирования веб-приложений 9. Функциональное тестирование на основе вариантов использования 10. Управление требованиями, запросами на изменение и дефектами 11. Инструменты автоматизации тестирования семейства Selenium 12. Тестирование методом свободного поиска (exploratory testing) 13. Регрессионное тестирование 14. Тестирование веб-сервисов 15. Бесплатные и недорогие инструменты тестирования
  • 3.
  • 4.  Читать / анализировать  глазами  автоматизированный статический анализ  автоматизированный динамический анализ  Модифицировать  статически  динамически
  • 5.  Статический анализ  Динамический анализ  Статическая модификация  Динамическая модификация
  • 6.
  • 7.
  • 8.  Собственно код программы на ЯП  Запросы к БД, триггеры, «хранимки»  Дизайн / верстка  Ресурсные файлы  Внутренние настроечные файлы  Код «чужих» используемых компонентов
  • 9.  Code review могут делать тестировщики!  Первичная проверка локализации – чтение ресурсных файлов, желательно с инструментом проверки орфографии  Чтение комментариев в коде  «этого никогда не должно случиться!»  Поиск чего-нибудь «подозрительного»  http://www.fujinonbinos.com/
  • 10.
  • 11.
  • 12.  Beyond Compare  Compare It!
  • 13.  Анализ журнала компиляции  Повышение уровня «подозрительности» компилятора / интерпретатора  use strict; use warnings; -T (Perl)  -Wall, -Wextra, -Werror (С/С++)  -Xlint (Java)
  • 14.  http://en.wikipedia.org/wiki/Cyclomatic_complexity  http://kapustin-andrey.boom.ru/Materials/Metrics2.htm  Среды разработки (Eclipse, VSTS)  Специализированные инструменты  PMD (Java)  Saikuro (Ruby)  Sonar (Java, …)
  • 15.  Автоматизированный сквозной анализ кода, отчёт о «подозрительных» местах  PMD, FindBugs (Java)  FxCop (.Net)  Ручной целенаправленный поиск  NDepend
  • 16. public void doSomething() { try { FileInputStream fis = new FileInputStream("file.txt"); } catch (IOException ioe) { // not good } }
  • 17. public class Foo { public void bar() { System.exit(0); } }
  • 18.  Неинициализированные переменные  Проход по нулевому указателю  Выход за границы массива  Отсутствие проверки полученных от пользователя данных перед использованием  …
  • 19.  Пути распространения влияния  дефектов  изменений
  • 20.
  • 21.  Среды разработки (Eclipse, MSVS)  Специализированные инструменты  Clover, EMMA, JCoverage, … (Java)  Ncover (.Net)  Flexcover (Flex)  rcov (Ruby)  PHPCoverage (PHP)  xCover (C/C++)
  • 22.  Функции  Строки  Операторы  Ветви  Предикаты  Дизъюнкты  Пути
  • 24.  Среды разработки (Eclipse, MSVS)  JVM Tooling Interface  Специализированные инструменты  YourKit, Jprobe, AppPerfect (Java)  JetBrains dotTrace (.Net)
  • 25.
  • 26.
  • 27. void foo() { for (...) { if (...) return; } // Execution should never reach this point! assert false; }
  • 28.  Стабы  заглушки на внешние интерфейсы  Моки  заглушки на внутренние интерфейсы  Фейки  искусственное управляемое окружение
  • 29.
  • 30.  AspectJ  AspectWerkz  Hyper/J JAC  JMangler  MixJuice  PROSE  ArchJava
  • 31. public class TestClass { public void sayHello () { System.out.println ("Hello, AOP"); } public void sayAnyThing (String s) { System.out.println (s); } public static void main (String[] args) { sayHello (); sayAnyThing ("ok"); } }
  • 32. public aspect MyAspect { public pointcut sayMethodCall (): call (public void TestClass.say*() ); before(): sayMethodCall() { System.out.println("n TestClass." + thisJoinPointStaticPart.getSignature().getName() + "start..." ); } after(): sayMethodCall() { System.out.println("n TestClass." + thisJoinPointStaticPart.getSignature().getName() + " end..."); } }
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.  Алексей Баранцев  Software-Testing.Ru  http://software-testing.ru/trainings/