Файл: Отладка и тестирование программ: основные подходы и ограничения (Этапы тестирования программного обеспечения).pdf
Добавлен: 31.03.2023
Просмотров: 295
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Понятия тестирования и отладки программного обеспечения
1.1 Принципы тестирование и отладка программного обеспечения
1.2 Этапы тестирования программного обеспечения
1.3 Цели и задачи тестирования программного обеспечения
1.4 Комплексное тестирование программного обеспечения
Глава2. Стратегия тестирования и отладки программного обеспечения.
2.4 Методы отладки программного обеспечения
Глава 3. Основные подходы и ограничения.
Глава 3. Основные подходы и ограничения.
3.1 Теория ограничений.
Теория ограничений – это целостная философия управления, разработанная доктором Элияху Моше Голдраттом, основывающаяся на принципе, что сложные системы демонстрируют внутреннюю простоту, то есть даже очень сложные системы, включающие в себя тысячи людей и единиц оборудования, в любой момент времени имеют очень небольшой набор переменных – возможно, вообще единственную, известную как ограничение, – которые ограничивают способность системы достигать больше единиц цели.
Изначально Теория ограничений появилась в производственных цехах для решения проблемы увеличения пропускной способности производственных предприятий. Было это в начале 80-х годов ХХ века. Но по мере развития подходов, понимания и применения научных методов к принятию решений она превратилась в целостный подход, обеспечивающий руководителей различного уровня инструментарием для достаточно быстрого, качественного и простого способа принятия решений.
Точно так же, как прочность цепи определяется прочностью самого слабого ее звена, так и пропускная способность системы определяется пропускной способностью ее самого узкого звена.
У этой исходной посылки есть несколько важных следствий:
1. Когда система работает под максимальной нагрузкой, то лишь ограниченное число ее элементов (чаще всего – один) работает на максимум.
2. Создание идеально сбалансированной по мощности системы невозможно в принципе.
3. В силу того, что спрос и мощность (пропускная система) имеют разную природу изменений (спрос имеет более высокую частоту и меньшую дискретность, нежели изменение мощности), то мощность в принципе не может быть приведена в соответствие с рыночным спросом.
3.2 Организация как совокупность потоков
Любая практическая методология строится на некоторой теоретической модели. Как-то так сложилось, что в управленческих кругах термин «теория» приобрел негативную коннотацию. Часто приходится встречать в рекламе: «практическая конференция», «выступление практиков» и т. д. и т. п.
Между тем когда-то Роберт Киргхоф сказал, что нет ничего практичнее, чем хорошая теория. И это очень важный момент.
Любая научная теория должна:
• отражать действительность в виде практических моделей;
• фиксировать связи между отдельными элементами и их свойства;
• объяснять причины появления и протекания событий;
• предсказывать поведение систем;
• ставить новые вопросы и помогать искать ответы на них;
• помогать решать практические задачи.
Решения, разработанные независимо в разных странах разными специалистами, оказывались схожими, отличающимися лишь незначительными деталями.
В основе всех моделей Теории ограничений лежит представление об организации как о совокупности потоков:
• потока создания ценности для потребителей;
• потока движения денежных средств;
• потока принятия управленческих решений.
Это классическая модель, которую можно увидеть во множестве презентаций, посвященных основам и решениям Теории ограничений.
Сегодня понятие «ограничение» определяется следующим образом: «Фактор, который в конечном счете ограничивает эффективность системы или организации. Это фактор, который, если организация была бы способна увеличить, более полно использовать или более полно обеспечить подчинение оному, в результате бы позволил достичь больше единиц цели».Таким образом, ограничение имеет два атрибута: оно в конечном счете лимитирует эффективность системы и его можно более полно использовать, чтобы достигать больше единиц целей.
Следствие из этого определения: ограничением не могут быть факторы, которые невозможно более полно использовать: политики, правила и т. п. Таким образом, они могут выступать как проблема (может быть «корневая проблема»), которая должна быть решена/устранена, а не как ограничение.[10]
Еще одно важное следствие этого уточнения: в потоке ограничение существует ВСЕГДА, и наличие ограничения – это не плохо, а ХОРОШО! Это очень важное следствие, так как в большинстве языков мира термин «ограничение» имеет негативную коннотацию. Следствием всегда является желание «устранить/расшить/снять» ограничение. Так вот, устранить ограничение из потока НЕВОЗМОЖНО, в любом потоке ограничение будет присутствовать. Мы можем только принять для себя решение, в какой части потока мы хотим, чтобы ограничение находилось.
Заключение
Программ без ошибок не существуют. Ошибки, соединенные с неправильным вводом команд в монтажере, неправильной записи идентификаторов почти всегда, это возможно узнать простое исследование начального текста, и фиксируется компилятором платформы, на котором пишется программа.
Обычно по традиции компании-производители телевизионных программ применяют попытку метода - попытка, будет ли программа работать в этом или том изменении, обычно это называет устранение неисправностей. Некоторые устройства участвовали в программировании, тестируя и устранение неисправностей зацепляются, более дешево. Поэтому необходимо обратиться к различным получениям компании-производителя телевизионных программ, позволяя повышать производительность программного обеспечения и открывать Ошибки как можно скорее как начало, и профессиональные компании-производители телевизионных программ совершают большинство различных ошибок, и в этапе проекта, и в коде программы. Довольно часто ошибка приводит к лавинным следствиям, усложняя работу компании-производителя телевизионных программ, приводя к пересмотру всего кода в начальной стадии. С этой целью сама компания-производитель телевизионных программ создает программу, тестирующую матобеспечение, или уже использует доступные пакеты программного обеспечения тестирования.
Главная роль в тестировании однако принадлежит компании-производителю телевизионных программ, отслеживающей производительность кода программы и появления точек прерывания. Компания-производитель телевизионных программ должна дефекты записи независимо, только она требуется, что отлаженная программа была запущена. Только затем среда разработки может контролировать блюдо производительности программы и изменения значений различных переменных. Раньше большие компьютеры, из-за чрезвычайно твердых необходимых условий к оперативной памяти и слабым компаниям-производителям телевизионных программ вычислительных ресурсов использовали технику устранения неисправностей основанного только на вводной части протоколов. Происхождение этого, компания-производитель телевизионных программ может определить ошибка, чтобы узнать это быстро, это не возможно, зная подпрограмму, которая вызвала ошибка. В старых языках программирования были четные специальные действующие компании для вывода законной информации. Однако просто просматривая начальный текст наиболее эффективно поиском ошибок. В определенных случаях разработчики программ зацепляются в выпуске сырых программ, так называемых программ не выдержанное испытание. Потребитель или устройство полученный такие программы используют их в собственном риске.
Сообщения на серьезных ошибках, в котором наличии, объектный код, созданный компилятором, является, конечно, неправильным также свое дальнейшее использование, это невозможно. Каждая компания-производитель телевизионных программ знает, что является временем и шпигует листы при устранении неисправностей и тестировании программ. На этом этапе это - необходимые приблизительно 50 % общей стоимости программирования. Не каждый из разработчиков матобеспечения может истинно определить цель тестирования. Довольно часто возможно услышать, что тестирование - процесс производительности программы с целью укладки текста в этом ошибок. Но эта цель недосягаема: что самое тщательное тестирование не дает гарантии, что программа не содержит Ошибки. На исследовании результатов каждого теста необходимо проверить, делает ли программа это, это не должно сделать. Тестируя не должен быть планированным происхождением успения, которое в ошибках в программе (в частности необходимо выбрать достаточное височное и имущество для того, чтобы протестировать) не будет узнано. Необходимо избежать когда бы ни было возможно тестирования программы своим автором как кроме уже указанной объективной сложности тестирования на компании-производителей телевизионных программ здесь есть также, что фактор, что укладка текста отсутствий действия противоречит человеческой психологии (однако отладка программы наиболее эффективно выполняется автором программы). Необходимо помнить всегда что, тестируя - творческий процесс вместо коснуться этого относительно стандартного размещения.
Библиография
1. Бейзер Б. Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем [текст] / Б. Бейзер; - Питер, 2017, 320 с. ISBN 5-94723-698-2.
2. Брауде Э.Д. Технология разработки программного обеспечения [текст] / Э.Д. Брауде; - Питер, 2004, 656 с. ISBN 5-94723-663-X. .Винниченко И.В. Автоматизация процессов тестирования [текст] / И. В. Винниченко; - Питер, 2016, 208 с.
3. Блэк Р. Ключeвыe прoцeссы тeстирoвaния. Плaнирoвaниe, пoдгoтoвкa, прoвeдeниe, сoвeршeнствoвaниe. - СПб.: Лoри, 2015. с. 576.
4. Винничeнкo И. Aвтoмaтизaция прoцeссoв тeстирoвaния. - СПб.: Питeр, 2018. с. 203.
5. Дaстин Э., Рэшкa Р, Джoн Пoл Джoн. Aвтoмaтизирoвaннoe тeстирoвaниe прoгрaммнoгo oбeспeчeния. - СПб.: Лoри, 2017. с. 384.
6. Липaeв В.В. Нaдёжнoсть прoгрaммных срeдств. - М.: СИНТEГ, 2017. с. 240.
7. Липaeв В.В. Oтлaдкa слoжных прoгрaмм. - М.: Энeргoaтoмиздaт, 2017. с. 235.
8. Мaкгрeгoр Д, Сaйкс Д. Тeстирoвaниe oбъeктнo-oриeнтирoвaннoгo прoгрaммнoгo oбeспeчeния. Прaктичeскoe пoсoбиe. - К.: ТИД "ДС", 2018. с. 432.
9. Смaгин В.A., Сoлдaтeнкo В.С., Кузнeцoв В.В. Мoдeлирoвaниe и oбeспeчeниe нaдёжнoсти прoгрaммных срeдств AСУ. - СПб.: ВИКУ им. A.Ф. Мoжaйскoгo, 2017. с. 49.
10. Сoммeрвилл И. Инжeнeрия прoгрaммнoгo oбeспeчeния. - СПб.: Вильямс, 2017. с. 624.
11. Тaмрe Л.Ввeдeниe в тeстирoвaниe прoгрaммнoгo oбeспeчeния. - СПб.: Вильямс, 2017. с. 386.
12. Шнeйдeрмaн Б. Психoлoгия прoгрaммирoвaния. - М.: Рaдиo и связь, 2018. с. 512.
Приложение
При тестировании на этапах «белого», «серого» и «черного ящиков» могут быть разные исполнители в рамках одного проекта, различная структура процессов, но перечень документов сохраняется. Тестирование «белого» и «серого ящиков» подразумевает полное или частичное тестирование кода программного обеспечения, подобное тестирование модулей (компонент) обычно рекомендуется выполнять силами программистов-авторов. Функциональное тестирование («черного ящика») – это системное тестирование на соответствие функциональным требованиям к разрабатываемому ПО. В системном тестировании выделяют нагрузочное тестирование – испытание производительности системы, которое может включать калибровочные испытания, стрессовое тестирование, тестирование на больших объемах данных, тестирование производительности при растущей нагрузке на систему и т.п.
Данный стандарт относится к динамическому тестированию, т.е. с выполнением кода ПО, и не относится к менее популярному статическому тестированию.
Состав документов, рекомендованных в стандарте IEEE STD 829:
план тестирования, проект теста, спецификация тестового сценария, спецификация тестовой процедуры, отчет о ходе тестирования, протокол тестирования, отчет о найденных ошибках, итоговый отчет о тестировании.
Рекомендованный состав плана тестирования:
название, введение, тестируемые элементы, перечень тестируемых свойств системы, нетестируемые свойства системы, подходы к тестированию, критерии успеха/неудачи тестов, критерии остановки и требования для возобновления, выходные тестовые материалы, тестовые задачи, необходимое окружение, ответственности персонала, требования по квалификации персонала и необходимость обучения, график работ, риски и действия по их снижению, согласование.
Спецификация сценария теста:
Название, тестируемые элементы, спецификации входных и выходных данных, необходимая среда тестирования, специальные требования к процедуре, взаимосвязи.