Abstract

An operating system is a base stone of any computer system. Failures and bugs in operating system impact the functionality of the system as a whole, that is why correctness and reliability of operating systems are so important. A variety of circumstances make verification and testing of operating systems a complicated issue. The list includes high dependence of operating systems on hardware, their massive internal concurrency, huge number of configuration options, required tolerance to aggressive actions of counteragents and hardware faults, a need for long continuous work without reboot, etc. The paper discusses influence of all the circumstances on testing, describes testing tools and techniques developed in ISPRAS and presents our experience of testing of various components of Linux as well as a few other real-time operating systems.

Highlights

  • Testing methods applied to operating systems include functional testing, backward compatibility testing, robustness testing, performance testing, configuration testing and others

  • Functional testing should be based on specifications of functional requirements to interfaces provided to applications and supported by test generation and coverage analysis tools

  • Performance testing and benchmarking is of most importance for real-time operating systems

Read more

Summary

Введение

Операционные системы (ОС) решают две взаимодополняющие задачи: организуют процесс работы многих приложений на одной ЭВМ, управляя разделением ресурсов ЭВМ между приложениями, а также защищая приложения друг от друга; предоставляют набор функций с целью создания удобной среды для работы пользователя и прикладных программ. С целью создания удобной среды для работы прикладных программ ОС предоставляет системные библиотеки и утилиты, которые реализуют множество типовых функций и при необходимости обращаются к ядру ОС. ОС как среда для работы прикладных программ должна обладать такими свойствами как: ◦ соответствие стандартам на интерфейсы ОС; ◦ соответствие документации на интерфейсы ОС; ◦ совместимость с приложениями как на уровне бинарных интерфейсов, так и на уровне исходного кода. В разделе 2 рассматриваются вопросы функционального тестирования ОС, как тщательного, так и поверхностного.

Функциональное тестирование
Тщательное функциональное тестирование
Оценка качества тестирования
Принципы построения тестов
Тестирование обработки внутренних ошибок
Специализированные тестовые системы
Поверхностное функциональное тестирование
Тестирование обратной совместимости
Структурное тестирование обратной совместимости
Семантическое тестирование обратной совместимости
Обнаружение специфических видов ошибок
Обнаружение утечек ресурсов
Обнаружение гонок по данным
Kernel Strider и OC2000 Data Race Detector
Race Hound
Тестирование устойчивости
Тестирование производительности ОС
Показатели производительности
Способы измерений показателей производительности
Программные средства измерения показателей производительности
Конфигурационное тестирование ОС
Комплексная система управления тестированием
Заключение
Благодарности
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.