Задать планку: как правильно выбрать оперативную память
На что обратить внимание помимо объема
Оперативная память бывает двух форматов и более пяти типов, каждый из которых работает в определенном диапазоне частот. Расскажем, как выбрать максимально допустимую частоту, оценить эффективность работы, и поможем определиться с объемом оперативной памяти для новой сборки или на замену старой.
Форм-фактор
Функционально они одинаковые, но у них разные размеры. Установить вместо DIMM модуль SO-DIMM и наоборот не получится. Форм-фактор указан в первом пункте в технических характеристиках памяти.
Тип памяти
Тип часто указывается в самом названии модуля памяти. Модули разного типа отличаются формой, так что установить один тип памяти в слот для другого не получится.
Объем памяти
Кажется, что чем больше объем оперативной памяти, тем быстрее работает компьютер. При работе с Word вы не заметите разницы между 16 ГБ и 32 ГБ, так как программа не использует весь доступный объем. Но когда вы открываете несколько десятков вкладок в Chrome и работаете с Photoshop, компьютер задействует минимум 8 ГБ оперативной памяти. Если памяти не хватает, включаются алгоритмы сжатия и переноса части данных на жесткий диск, из-за этого компьютер долго думает над некоторыми командами и работает медленно.
Вот на какой объем памяти можно ориентироваться в 2021 году:
Объем указан в технических характеристиках. Учтите, что в одной коробке может быть несколько модулей, обратите внимание на пункт Количество модулей.
Если собираете новый компьютер
Посмотрите в характеристики материнской платы. Найдите графу Слоты памяти — в ней будут указаны тип (DDR4, DDR5) и количество модулей.
Обратите внимание на соседние пункты:
Лучше выбирать четное количество модулей — два или четыре: в двухканальном режиме память будет работать быстрее. Но при этом стоит оставить возможность для увеличения объема. Например, лучше сначала купить один модуль памяти на 16 ГБ, а через месяц-другой установить еще один такой же, чем занять оба слота модулями по 8 ГБ.
Если хотите увеличить объем памяти готового ПК
Посмотрите, какая память установлена в компьютере. Откройте боковую крышку корпуса и достаньте модуль памяти. На одном из бортов будут указаны производитель и маркировка.
Обратите внимание на пункт Part Number, в нем указана маркировка модуля памяти. По ней можно узнать точные характеристики, включая тактовую частоту.
Если хотите установить комплект модулей с большим объемом памяти, посмотрите максимально допустимую частоту и объем для вашей материнской платы. Ее производителя и модель можно посмотреть во вкладке Mainboard.
После того как определились с форматом, типом, объемом и количеством планок, пора подумать про тактовую частоту и скорость работы памяти.
Тактовая частота и скорость работы памяти
Вы уже знаете, какую максимальную тактовую частоту памяти поддерживает ваш компьютер, но просто выбрать память с такой частотой недостаточно. Обратите внимание на поле Латентность (указана в формате CL 16-17-17) в характеристиках. Если коротко, из двух модулей с одинаковой тактовой частотой быстрее тот, у которого цифры в поле Латентность меньше.
Читать : Правда, что повышение частоты оперативной памяти дает прирост мощности?
Нужны ли радиаторы?
Обычно оперативная память нагревается несильно. При базовом напряжении (для DDR4 это 1,2 В) тепла выделяется немного. Но если производитель разогнал модуль и повысил напряжение до 1,3–1,4 В, нагрев увеличится.
Как правило, у таких модулей есть металлические боковые накладки и дополнительные зубчатые гребни сверху. Они позволяют отводить лишнее тепло и защищают от перегрева.
Если планируете разгонять оперативную память или в ее характеристиках указано напряжение более 1,35 В (у DDR4) или 1,25 В (у DDR5), убедитесь, что у модуля есть такие металлические детали и гребни.
А подсветка?
Никакой практической пользы от нее нет. Но если у вас системный блок с прозрачной боковой стенкой, а внутри находятся видеокарта, система охлаждения и вентиляторы с подсветкой, оперативная память дополнит картинку. Подсветка встречается только в модулях формата DDR4 (в DDR5, скорее всего, тоже будет).
Перед покупкой проверьте, с какими программами для синхронизации подсветки она совместима. Для этого найдите свою материнскую плату на сайте производителя и посмотрите, какие приложения там указаны. Например, у MSI это Mystic Light.
Затем посмотрите, какие программы поддерживают выбранные модули оперативной памяти. Это может быть тот же Mystic Light, Aura Sync, RGB Fusion 2.0 и др. Управлять цветом и эффектами подсветки получится только в том случае, если материнская плата и оперативная память работают с одной и той же программой.
Ускоряем память или меньше не значит лучше
Разгоняя компьютер, мы больше внимания уделяем таким компонентам как процессор и видеокарта, а память, как не менее важную составляющую, иногда обходим стороной. А ведь именно тонкая настройка подсистемы памяти может дополнительно увеличить скорость рендеринга сцены в трехмерных редакторах, уменьшить время на компрессию домашнего видеоархива или прибавить пару кадров за секунду в любимой игре. Но даже если вы не занимаетесь оверклокингом, дополнительная производительность никогда не помешает, тем более что при правильном подходе риск минимален.
Уже прошли те времена, когда доступ к настройкам подсистемы памяти в BIOS Setup был закрыт от лишних глаз. Сейчас их столько, что даже подготовленный пользователь может растеряться при таком разнообразии, не говоря уже о простом «юзере». Мы постараемся максимально разъяснить действия, необходимые для повышения производительности системы посредством простейших настроек основных таймингов и, при необходимости, некоторых других параметров. В данном материале мы рассмотрим платформу Intel с памятью DDR2 на базе чипсета от той же компании, и основной целью будет показать не то, насколько поднимется быстродействие, а то, как именно его необходимо поднять. Что касается альтернативных решений, то для памяти стандарта DDR2 наши рекомендации практически полностью применимы, а для обычной DDR (меньшие частота и задержки, и большее напряжение) есть некоторые оговорки, но в целом принципы настройки те же.
В качестве оперативной памяти использовалось два модуля DDR2-800 объемом 1 Гб производства Hynix (1GB 2Rx8 PC2-6400U-555-12), благодаря чему появилась возможность расширить количество тестов с различными режимами работы памяти и комбинациями таймингов.
Приведем перечень необходимого ПО, позволяющего проверить стабильность системы и зафиксировать результаты настроек памяти. Для проверки стабильной работы памяти можно использовать такие тестовые программы как Testmem, Testmem+, S&M, Prime95, в качестве утилиты настройки таймингов «на лету» в среде Windows применяется MemSet (для платформ Intel и AMD) и A64Info (только для AMD). Выяснение оправданности экспериментов над памятью можно осуществить архиватором WinRAR 3.70b (имеется встроенный бенчмарк), программой SuperPI, рассчитывающая значение числа Пи, тестовым пакетом Everest (также есть встроенный бенчмарк), SiSoft Sandra и т.д.
Основные же настройки осуществляются в BIOS Setup. Для этого необходимо во время старта системы нажать клавишу Del, F2 или другую, в зависимости от производителя платы. Далее ищем пункт меню, отвечающий за настройки памяти: тайминги и режим работы. В нашем случае искомые настройки находились в Advanced/Chipset Setting/North Bridge Configuration (тайминги) и Advanced/Configure System Frequency (режим работы или, проще говоря, частота памяти). В BIOS’е других плат настройки памяти могут находиться в «Advanced Chipset Features» (Biostar), «Advanced/Memory Configuration» (Intel), «Soft Menu + Advanced Chipset Features» (abit), «Advanced Chipset Features/DRAM Configuration» (EPoX), «OverClocking Features/DRAM Configuration» (Sapphire), «MB Intelligent Tweaker» (Gigabyte, для активации настроек необходимо в главном окне BIOS нажать Ctrl+F1) и т.д. Напряжение питания обычно изменяется в пункте меню, отвечающем за оверклокинг и обозначается как «Memory Voltage», «DDR2 OverVoltage Control», «DIMM Voltage», «DRAM Voltage», «VDIMM» и т.д. Также у различных плат от одного и того же производителя настройки могут отличаться как по названию и размещению, так и по количеству, так что в каждом отдельном случае придется обратиться к инструкции.
Если названия задержек не совпадут, то тут хорошо проявляет себя «метод научного тыка». Незначительно изменяя дополнительные настройки в BIOS Setup, проверяем программой, что, где и как изменилось.
Тоже самое проделываем для памяти DDR2-667: вместо значений 5-5-5-15 выставляем 3-3-3-9. При проведении тестов нам пришлось также увеличить RAS# to CAS# Delay, иначе быстродействие ничем не отличалось от стандартных настроек.
Для системы, использующей DDR2-800, задержки можно уменьшить до 4-4-4-12 или даже 4-4-3-10, в зависимости от конкретных модулей. В любом случае подбор таймингов сугубо индивидуален, и дать конкретные рекомендации достаточно сложно, но приведенные примеры вполне могут помочь вам в тонкой настройке системы. И не забываем о напряжении питания.
Как видите по результатам, разница в некоторых тестах незначительная, а порой даже мизерная. Это обусловлено тем, что системная шина процессора Core 2 Duo, равная 1066 МГц, имеет теоретическую пропускную способность 8,5 Гб/с, что соответствует пропускной способности двухканальной памяти DDR2-533. При использовании более скоростной памяти ограничивающим фактором быстродействия системы становится шина FSB. Уменьшение задержек ведет к росту быстродействия, но не так заметно, как повышение частоты памяти. При использовании в качестве тестового стенда платформы AMD можно было бы наблюдать совсем другую картину, что мы по возможности и сделаем в следующий раз, а пока вернемся к нашим тестам.
И в заключение хотелось бы сказать, что несмотря на небольшой процент прироста быстродействия (
0,5-8,5), который получается от уменьшения временных задержек, эффект все же присутствует. И даже при переходе с DDR2-533 на DDR2-800 мы получаем прибавку в среднем 3-4%, а в WinRAR более 20. Так что подобный «тюнинг» имеет свои плюсы и позволяет даже без серьезного разгона немного поднять производительность системы.
Фундаментальная теория тестирования
В тестировании нет четких определений, как в физике, математике, которые при перефразировании становятся абсолютно неверными. Поэтому важно понимать процессы и подходы. В данной статье разберем основные определения теории тестирования.
Перейдем к основным понятиям
Тестирование программного обеспечения (Software Testing) — проверка соответствия реальных и ожидаемых результатов поведения программы, проводимая на конечном наборе тестов, выбранном определённым образом.
Цель тестирования — проверка соответствия ПО предъявляемым требованиям, обеспечение уверенности в качестве ПО, поиск очевидных ошибок в программном обеспечении, которые должны быть выявлены до того, как их обнаружат пользователи программы.
Для чего проводится тестирование ПО?
Принципы тестирования
QC (Quality Control) — Контроль качества продукта — анализ результатов тестирования и качества новых версий выпускаемого продукта.
К задачам контроля качества относятся:
К задачам обеспечения качества относятся:
Верификация и валидация — два понятия тесно связаны с процессами тестирования и обеспечения качества. К сожалению, их часто путают, хотя отличия между ними достаточно существенны.
Верификация (verification) — это процесс оценки системы, чтобы понять, удовлетворяют ли результаты текущего этапа разработки условиям, которые были сформулированы в его начале.
Валидация (validation) — это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, его требованиям к системе.
Пример: когда разрабатывали аэробус А310, то надо было сделать так, чтобы закрылки вставали в положение «торможение», когда шасси коснулись земли. Запрограммировали так, что когда шасси начинают крутиться, то закрылки ставим в положение «торможение». Но вот во время испытаний в Варшаве самолет выкатился за пределы полосы, так как была мокрая поверхность. Он проскользил, только потом был крутящий момент и они, закрылки, открылись. С точки зрения «верификации» — программа сработала, с точки зрения «валидации» — нет. Поэтому код изменили так, чтобы в момент изменения давления в шинах открывались закрылки.
Документацию, которая используется на проектах по разработке ПО, можно условно разделить на две группы:
Этапы тестирования:
Программный продукт проходит следующие стадии:
Требования
Требования — это спецификация (описание) того, что должно быть реализовано.
Требования описывают то, что необходимо реализовать, без детализации технической стороны решения.
Отчёт о дефекте (bug report) — документ, который содержит отчет о любом недостатке в компоненте или системе, который потенциально может привести компонент или систему к невозможности выполнить требуемую функцию.
Атрибуты отчета о дефекте:
Жизненный цикл бага
Severity vs Priority
Серьёзность (severity) показывает степень ущерба, который наносится проекту существованием дефекта. Severity выставляется тестировщиком.
Градация Серьезности дефекта (Severity):
Градация Приоритета дефекта (Priority):
Тестовые среды
Основные фазы тестирования
Основные виды тестирования ПО
Вид тестирования — это совокупность активностей, направленных на тестирование заданных характеристик системы или её части, основанная на конкретных целях.
Автор книги «A Practitioner’s Guide to Software Test Design», Lee Copeland, выделяет следующие техники тест-дизайна:
Методы тестирования
Тестирование белого ящика — метод тестирования ПО, который предполагает, что внутренняя структура/устройство/реализация системы известны тестировщику.
Согласно ISTQB, тестирование белого ящика — это:
Тестирование чёрного ящика — также известное как тестирование, основанное на спецификации или тестирование поведения — техника тестирования, основанная на работе исключительно с внешними интерфейсами тестируемой системы.
Согласно ISTQB, тестирование черного ящика — это:
Тестовая документация
Тест план (Test Plan) — это документ, который описывает весь объем работ по тестированию, начиная с описания объекта, стратегии, расписания, критериев начала и окончания тестирования, до необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков.
Тест план должен отвечать на следующие вопросы:
Чаще всего чек-лист содержит только действия, без ожидаемого результата. Чек-лист менее формализован.
Тестовый сценарий (test case) — это артефакт, описывающий совокупность шагов, конкретных условий и параметров, необходимых для проверки реализации тестируемой функции или её части.
Атрибуты тест кейса:
Тайминги ОЗУ: разбираемся в нюансах
Что означают эти непонятные цифры на оперативной памяти для ПК? Ведь тайминги напрямую влияют на ее быстродействие, но их величина — это вовсе не объем и не скорость. Рассказываем понятным языком и объясняем, какие параметры лучше.
При выборе оперативной памяти для ПК многие пользователи сталкиваются с вопросом изучения характеристик чипов, в том числе рабочих частот и таймингов. Но если с первыми все понятно — чем они выше, тем быстрее память, то со вторыми не все так просто. Мы расскажем, для чего нужен этот параметр и как выбрать планку с оптимальными значениями таймингов.
ЧЧто влияет на скоростные параметры ОЗУ
От скоростных показателей оперативной памяти зависит как быстро будет осуществляться обмен данными между процессором и жестким диском и системой. Чем выше частота работы чипов, тем больше операций чтения/записи она может выполнить в единицу времени. Конечно, от объема оперативной памяти также зависит общее быстродействие ПК, но лишь в определенных программах.
Это можно сравнить с работой экскаватора: процессор (оператор) дает команды экскаватору (ковшу) забрать определенное количество грунта (данных) из котлована (жесткого диска). Чем больше ковш, тем больше грунта (данных) будут забраны и доступны к оперативному использованию. Но быстродействие ПК зависит от слаженной работы всех компонентов системы.
1 байт = 8 бит
Из этого можно вычислить, что DDR3 с частотой 1600 МГц сможет обработать 12800 бит/сек. Аналогично этому DDR4 2400 сможет попустить через себя данные со скоростью 19200 бит/сек. Таким образом, со скоростью обработки данных разобрались.
Теперь плавно переходим к таймингам. Эти цифры также указывают на наклейках на оперативной памяти в виде счетверённых через дефис цифр, например, 8-8-8-24, 9-9-9-24 и т.д. Эти цифры обозначают, какой промежуток времени (задержка) необходим модулю RAM для доступа к битам данных при выборке из таблицы массивов памяти.
Эта задержка характеризует, какое количество тактовых импульсов необходимо для считывания данных из ячеек памяти для 4-х таймингов. Самый важный из четырех цифр — первый, и на этикетке может быть написан только он.
Поэтому, в этих характеристиках действует обратный принцип: чем меньше числа, тем выше скорость. А меньшая задержка обеспечит быстрее считать или записать данные в ячейку памяти и затем достигнут процессора для обработки.
Тайминги замеряют период ожидания (CL, CAS Latency, где CAS — Acess Strobe) чипа памяти, пока он обрабатывает текущий процесс. Т.е. это время между получением команды на чтение и ее выполнением. Со следующими двумя цифрами все несколько сложнее. Вторая цифра в строке таймингов RAS-CAS, ) является ни чем иным, как отрезок времени между получением команды «Active» и выполнением поступающей после нее команды на чтение или запись. Здесь также — чем меньше, тем лучше.
Третья цифра, это RAS Precharge — время, за которое проходит между завершением обработки одной строки и переходом к другой. И последняя цифра демонстрирует параметр памяти Row Active. Он определяет задержку, в течение которой активна одна строка в ячейке.
ККакие тайминги лучше выбирать
Вы также можете подобрать себе оперативную память в качестве апгрейда. Здесь также нужно придерживаться правила равных таймингов, и не допускать, чтобы какой-то из них, например, опережал почти на треть цикла.
Если же вы намерены установить на ПК самую быструю память, что следует учесть, что, например, тайминги 4-4-4-8, 5-5-5-15 и 7-7-7-21 могут обеспечить очень быстрый доступ к данным, но процессор и материнская плата не смогут этим воспользоваться. При этом важно, чтобы в материнской была возможность вручную установить тайминги для ОЗУ.
ККак узнать тайминги оперативной памяти
Для этих целей не обязательно вскрывать корпус и вытаскивать из слотов планки оперативной памяти. Специальная бесплатная утилита CPU-Z позволит быстро узнать нужные цифры таймингов. Для вычиcления тайминга самостоятельно можно использовать довольно простую формулу:
Время задержки (сек) = 1 / Частоту передачи (Гц)
1 / 400 000 000 = 2,5 нсек (наносекунд)
периода полного цикла (время такта). А теперь считаем задержку для обоих вариантов, представленных в рисунках. При таймингах CL-11 модуль будет выдавать «тормоза» периодом 2,5 х 11 = 27,5 нсек. В CPU-Z это значение показано как 28. Как видно из формулы, чем ниже каждый из указываемых параметров, тем быстрее будет ваша оперативная память работать.
ККак вручную задать тайминги в BIOS
Такая возможность есть не в любой материнской плате — лишь в оверклокерских модификациях. Вы можете попробовать выставить тайминги вручную из предлагаемых системой значений, после чего нужно внимательно следить за стабильностью работы ПК под нагрузкой. Если в БИОС специальных настроек не предусмотрено, то стоит смириться с теми, которые установлены по умолчанию.
Теория тестирования ПО просто и понятно
Привет, Хабр! Да-да, про тестирование ПО тут уже куча статей. Здесь я просто буду стараться структурировать как можно более полный охват данных из разных источников (чтобы по теории все основное было сразу в одном месте, и новичкам, например, было легче ориентироваться). При этом, чтобы статья не казалась слишком громоздкой, информация будет представлена без излишней детализации, как необходимая и достаточная для прохождения собеседования (согласно моему опыту), рассчитанное на стажеров/джунов (как вариант, эта информация может быть для общего понимания полезна ИТ-рекрутерам, которые проводят первичное собеседование и попутно задают некоторые около-технические вопросы).
ОСНОВНЫЕ ТЕРМИНЫ
Тестирование ПО (Software Testing) — проверка соответствия между реальным и ожидаемым поведением программы, проводится на наборе тестов, который выбирается некоторым образом. Чем занимаются в тестировании:
планированием работ (Test Management)
проектированием тестов (Test Design) — этап, на котором создаются тестовые сценарии (тест кейсы), в соответствии с определёнными ранее критериями. Т.е., определяется, КАК будет тестироваться продукт.
анализом результатов (Test Analysis)
Основные цели тестирования
техническая: предоставление актуальной информации о состоянии продукта на данный момент.
коммерческая: повышение лояльности к компании и продукту, т.к. любой обнаруженный дефект негативно влияет на доверие пользователей.
Верификация (verification)
Валидация (validation)
Соответствие продукта требованиям (спецификации)
Соответствие продукта потребностям пользователей
Дефект (баг) — это несоответствие фактического результата выполнения программы ожидаемому результату.
Следует уметь различать, что:
Error — это ошибка пользователя, то есть он пытается использовать программу иным способом (например, вводит буквы в поля, где требуется вводить цифры). В качественной программе предусмотрены такие ситуации и выдаются сообщение об ошибке (error message).
Bug (defect) — это ошибка программиста (или дизайнера или ещё кого, кто принимает участие в разработке), то есть когда в программе, что-то идёт не так, как планировалось. Например, внутри программа построена так, что изначально не соответствует тому, что от неё ожидается.
Failure — это сбой в работе компонента, всей программы или системы (может быть как аппаратным, так и вызванным дефектом).
Жизненный цикл бага
Серьезность (Severity) — характеризует влияние дефекта на работоспособность приложения. Выставляется тестировщиком.
Градация Серьезности дефекта
Приоритет (Priority) — указывает на очередность выполнения задачи или устранения дефекта. Чем выше приоритет, тем быстрее нужно исправлять дефект. Выставляется менеджером, тимлидом или заказчиком.
НЕКОТОРЫЕ ТЕХНИКИ ТЕСТ-ДИЗАЙНА
Эквивалентное Разделение (Equivalence Partitioning) — это техника, при которой функционал (часто диапазон возможных вводимых значений) разделяется на группы эквивалентных по своему влиянию на систему значений. ПРИМЕР: есть диапазон допустимых значений от 1 до 10, выбирается одно верное значение внутри интервала (например, 5) и одно неверное значение вне интервала — 0.
Анализ Граничных Значений (Boundary Value Analysis) — это техника проверки поведения продукта на крайних (граничных) значениях входных данных. Если брать выше ПРИМЕР: в качестве значений для позитивного тестирования берется минимальная и максимальная границы (1 и 10), и значения больше и меньше границ (0 и 11). BVA может применяться к полям, записям, файлам, или к любого рода сущностям имеющим ограничения.
Доменный анализ (Domain Analysis Testing) — это техника основана на разбиении диапазона возможных значений переменной на поддиапазоны, с последующим выбором одного или нескольких значений из каждого домена для тестирования.
Предугадывание ошибки (Error Guessing — EG). Это когда тестировщик использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы «предугадать» при каких входных условиях система может выдать ошибку.
Причина / Следствие (Cause/Effect — CE). Подразумевается ввод условий, для получения ответа от системы (следствие).
Сценарий использования (Use Case Testing) — Use Case описывает сценарий взаимодействия двух и более участников (как правило — пользователя и системы).
Исчерпывающее тестирование (Exhaustive Testing — ET) — подразумевается проверка всех возможные комбинации входных значений. На практике не используется.
Попарное тестирование (Pairwise Testing) — это техника формирования наборов тестовых данных из полного набора входных данных в системе, которая позволяет существенно сократить общее количество тест-кейсов. Используется для тестирования, например, фильтров, сортировок. Этот интересный метод заслуживает отдельного внимания и более подробно рассматривается в статье по ссылке (в конце которой упоминаются инструменты для автоматизации применения PT ).
Тестирование на основе состояний и переходов (State-Transition Testing) — применяется для фиксирования требований и описания дизайна приложения.
Таблица принятия решений (decision table) — инструмент для упорядочения бизнес-требований, которые должны быть реализованы в продукте. Применяется для систем со сложной логикой. В таблицах решений представлен набор условий, одновременное выполнение которых приводит к определенному действию.
Пример таблицы принятия решений
ВИДЫ ТЕСТИРОВАНИЯ
Классификация по целям
Функциональное тестирование (functional testing) рассматривает заранее указанное поведение и основывается на анализе спецификации компонента или системы в целом, т.е. проверяется корректность работы функциональности приложения.
Нефункциональное тестирование (non-functional testing) — тестирование атрибутов компонента или системы, не относящихся к функциональности.
Тестирование пользовательского интерфейса (GUI Testing) — проверка интерфейса на соответствие требованиям (размер, шрифт, цвет, consistent behavior).
Тестирование удобства использования (Usability Testing) — это метод тестирования, направленный на установление степени удобства использования, обучаемости, понятности и привлекательности для пользователей разрабатываемого продукта в контексте заданных условий. Состоит из: UX — что испытывает пользователь во время использования цифрового продукта, и UI — инструмент, позволяющий осуществлять интеракцию «пользователь — веб-ресурс».
Тестирование безопасности (security testing) — это стратегия тестирования, используемая для проверки безопасности системы, а также для анализа рисков, связанных с обеспечением целостного подхода к защите приложения, атак хакеров, вирусов, несанкционированного доступа к конфиденциальным данным.
Инсталляционное тестирование (installation testing) направленно на проверку успешной установки и настройки, а также обновления или удаления приложения.
Конфигурационное тестирование (Configuration Testing) — специальный вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т.д.)
Тестирование на отказ и восстановление (Failover and Recovery Testing) проверяет тестируемый продукт с точки зрения способности противостоять и успешно восстанавливаться, т.е. обеспечивать сохранность и целостность данных, после возможных сбоев, возникших в связи с ошибками программного обеспечения, отказами оборудования или проблемами связи (например, отказ сети).
Тестирование локализации (localization testing) — проверка адаптации программного обеспечения для определенной аудитории в соответствии с ее культурными особенностями.
Тестирование производительности (performance testing) — определение стабильности и потребления ресурсов в условиях различных сценариев использования и нагрузок.
Нагрузочное тестирование (load testing) — определение или сбор показателей производительности и времени отклика программно-технической системы или устройства в ответ на внешний запрос с целью установления соответствия требованиям, предъявляемым к данной системе (устройству).
Тестирование стабильности или надежности (Stability / Reliability Testing) — это проверка работоспособности приложения при длительном (многочасовом) тестировании со средним уровнем нагрузки.
Стрессовое тестирование (Stress Testing) позволяет проверить насколько приложение и система в целом работоспособны в условиях стресса (например, повышение интенсивности выполнения операций до очень высоких значений или аварийное изменение конфигурации сервера) и также оценить способность системы к регенерации, т.е. к возвращению к нормальному состоянию после прекращения воздействия стресса.
Объемное тестирование (Volume Testing) — тестирование, которое проводится для получения оценки производительности при увеличении объемов данных в базе данных приложения.
Тестирование масштабируемости (scalability testing) — тестирование, которое измеряет производительность сети или системы, когда количество пользовательских запросов увеличивается или уменьшается.
Классификация по позитивности сценария
Позитивное — тест кейс использует только корректные данные и проверяет, что приложение правильно выполнило вызываемую функцию.
Негативное — тест кейс оперирует как корректными так и некорректными данными (минимум 1 некорректный параметр) и ставит целью проверку исключительных ситуаций; при таком тестировании часто выполняются некорректные операции.
Классификация по знанию системы
Тестирование белого ящика (White Box) — метод тестирования ПО, который предполагает полный доступ к коду проекта, т.е. внутренняя структура/устройство/реализация системы известны тестировщику.
Тестирование серого ящика — метод тестирования ПО, который предполагает частичный доступ к коду проекта (комбинация White Box и Black Box методов).
Тестирование чёрного ящика (Black Box) — метод тестирования ПО, также известный как тестирование, основанное на спецификации или тестирование поведения — техника тестирования, которая не предполагает доступа (полного или частичного) к системе, т.е. основывается на работе исключительно с внешним интерфейсом тестируемой системы.
Классификация по исполнителям тестирования
Альфа-тестирование — является ранней версией программного продукта, тестирование которой проводится внутри организации-разработчика; может быть вероятно частичное привлечение конечных пользователей.
Бета-тестирование — практически готовое ПО, выпускаемое для ограниченного количества пользователей, разрабатывается в первую очередь для тестирования конечными пользователями и получения отзывов клиентов о продукте для внесения соответствующих изменений.
Классификация по уровню тестирования
Модульное (компонентное) тестирование (Unit Testing) проводится самими разработчиками, т.к. предполагает полный доступ к коду, для тестирования какого-либо одного логически выделенного и изолированного элемента (модуля) системы в коде, проверяет функциональность и ищет дефекты в частях приложения, которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.).
Интеграционное тестирование (Integration Testing) направлено на проверку корректности взаимодействия нескольких модулей, объединенных в единое целое, т.е. проверяется взаимодействие между компонентами системы после проведения компонентного тестирования.
Подходы к интеграционному тестированию
Снизу вверх (Bottom Up Integration) Все низкоуровневые модули, процедуры или функции собираются воедино и затем тестируются. После чего собирается следующий уровень модулей для проведения интеграционного тестирования. Данный подход считается полезным, если все или практически все модули, разрабатываемого уровня, готовы. Также данный подход помогает определить по результатам тестирования уровень готовности приложения.
Сверху вниз (Top Down Integration) Вначале тестируются все высокоуровневые модули, и постепенно один за другим добавляются низкоуровневые. Все модули более низкого уровня симулируются заглушками с аналогичной функциональностью, затем по мере готовности они заменяются реальными активными компонентами.
Большой взрыв («Big Bang» Integration) Все или практически все разработанные модули собираются вместе в виде законченной системы или ее основной части, и затем проводится интеграционное тестирование. Такой подход очень хорош для сохранения времени. Однако если тест кейсы и их результаты записаны не верно, то сам процесс интеграции сильно осложнится, что станет преградой для команды тестирования при достижении основной цели интеграционного тестирования.
Системное тестирование (System Testing) — это проверка как функциональных, так и не функциональных требований в системе в целом. При этом выявляются дефекты, такие как неверное использование ресурсов системы, непредусмотренные комбинации данных пользовательского уровня, несовместимость с окружением, непредусмотренные сценарии использования и т.д., и оцениваются характеристики качества системы — ее устойчивость, надежность, безопасность и производительность.
Операционное тестирование (Release Testing). Даже если система удовлетворяет всем требованиям, важно убедиться в том, что она удовлетворяет нуждам пользователя и выполняет свою роль в среде своей эксплуатации. Поэтому так важно провести операционное тестирование как финальный шаг валидации. Кроме этого, тестирование в среде эксплуатации позволяет выявить и нефункциональные проблемы, такие как: конфликт с другими системами, смежными в области бизнеса или в программных и электронных окружениях и др. Очевидно, что нахождение подобных вещей на стадии внедрения — критичная и дорогостоящая проблема.
Классификация по исполнению кода
Статическое тестирование — процесс тестирования, который проводится для верификации практически любого артефакта разработки. Например, путем анализа кода (code review). Анализ может производиться как вручную, так и с помощью специальных инструментальных средств. Целью анализа является раннее выявление ошибок и потенциальных проблем в продукте. Также к этому виду относится тестирование требований, спецификаций и прочей документации.
Динамическое тестирование проводится на работающей системе, т.е. с осуществлением запуска программного кода приложения.
Классификация по хронологии выполнения
Повторное/подтверждающее тестирование (re-testing/confirmation testing) — тестирование, во время которого исполняются тестовые сценарии, выявившие ошибки во время последнего запуска, для подтверждения успешности исправления этих ошибок, т.е. проверяется исправление багов.
Регрессионное тестирование (regression testing) — это тестирование после внесения изменений в код приложения (починка дефекта, слияние кода, миграция на другую операционную систему, базу данных, веб сервер или сервер приложения), для подтверждения того факта, что эти изменения не внесли ошибки в областях, которые не подверглись изменениям, т.е. проверяется то, что исправление багов, а также любые изменения в коде приложения, не повлияли на другие модули ПО и не вызвали новых багов.
Приёмочное тестирование проверяет соответствие системы потребностям, требованиям и бизнес-процессам пользователя.
ДОКУМЕНТАЦИЯ
Требования — это спецификация (описание) того, что должно быть реализовано. Требования описывают то, что необходимо реализовать, без детализации технической стороны решения.
Основные атрибуты требований:
Полнота — в требовании должна содержаться вся необходимая для реализации функциональности информация.
Непротиворечивость — требование не должно содержать внутренних противоречий и противоречий другим требованиям и документам.
Недвусмысленность — требование должно содержать однозначные формулировки.
Проверяемость (тестопригодность) — формулировка требований таким образом, чтобы можно было выставить однозначный вердикт, выполнено все в соответствии с требованиями или нет.
Приоритетность — у каждого требования должен быть приоритет (количественная оценка степени значимости требования).
Тест план (Test Plan) — документ, описывающий весь объем работ по тестированию:
Что нужно тестировать?
Как будет проводиться тестирование?
Когда будет проводиться тестирование?
Критерии начала тестирования.
Критерии окончания тестирования.
Основные пункты из которых может состоять тест-план перечислены в стандарте IEEE 829.
Неотъемлемой частью тест-плана является Traceability matrix — Матрица соответствия требований (МСТ) — это таблица, содержащая соответствие функциональных требований (functional requirements) продукта и подготовленных тестовых сценариев (test cases). В заголовках колонок таблицы расположены требования, а в заголовках строк — тестовые сценарии. На пересечении — отметка, означающая, что требование текущей колонки покрыто тестовым сценарием текущей строки. МСТ используется для покрытия продукта тестами.





















