Preview

Вестник СибГУТИ

Расширенный поиск

Обзор методов верификации и оценки качества программного обеспечения

https://doi.org/10.55648/1998-6920-2023-17-1-92-106

Аннотация

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

Об авторах

Е. Ю. Мерзлякова
Сибирский гос. унив. телекоммуникаций и информатики (СибГУТИ)
Россия

Мерзлякова Екатерина Юрьевна, к.т.н., доцент кафедры прикладной математики и кибернетики

630102, Новосибирск, ул. Кирова, д. 86

тел. +7 383 2698 272



Е. В. Янченко
Сибирский гос. унив. телекоммуникаций и информатики (СибГУТИ)
Россия

Янченко Елена Викторовна, к.т.н., доцент кафедры прикладной математики и кибернетики

630102, Новосибирск, ул. Кирова, 86

тел.+7 383 2698 272



Список литературы

1. Кулямин В. В. Методы верификации программного обеспечения. М.: Институт системного программирования, 2008. 111 с.

2. Семахин А. М. Методы верификации оценки качества программного обеспечения: учебное пособие. Курган: Курганский государственный университет, 2018. 150 с.

3. IEEE 1012-2004 Standard for Software Verification and Validation. IEEE, 2005.

4. ГОСТ 28806-90 «Качество программных средств. Термины и определения» / Межгосударственный стандарт / Государственный комитет СССР по вычислительной технике и информатике, 1992.

5. ISO/IEC JTC 1/ SC7 Systems and software engineering – Systems and software Quality Rquirements and Evaluation (SQuaRE) – Guide to SQuaRE – Part 2: Software and systems engineering Geneva, Switzerland: ISO, 2014.

6. Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Требования к качеству готового к использованию программного продукта (RUSP) и инструкции по тестированию. Стандартинформ, 2019.

7. Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Модели качества систем и программных продуктов. Стандартинформ, 2015.

8. IEEE 1028 Standard for Software Reviews. New York: IEEE, 1998.

9. Fagan M. E. Design and Code Inspections to Reduce Errors in Program Development // IBM Systems Journal. 1976. V. 15, № 3. P. 182–211.

10. Kazman R., Bass L., Abowd G., Webb M. SAAM: A Method for Analyzing the Properties of Software Architectures // Proc. 16th International Conference on Software Engineering, 1994. P. 81–90.

11. Plum Hall Inc [Электронный ресурс]. URL: http://www.plumhall.com/ (дата обращения: 31.01.2023).

12. LDRA [Электронный ресурс]. URL: https://ldra.com/ (дата обращения: 03.02.2023).

13. Jtest [Электронный ресурс]. URL: https://www.parasoft.com/ (дата обращения: 3.02.2023).

14. Шлее М. Qt 5.10. Профессиональное программирование на C++. БХВ-Петербург, 2018.

15. PVS-Studio – статический анализатор на страже качества, защищённости (SAST) и безопасности кода [Электронный ресурс]. URL: https://pvs-studio.com/ru/pvsstudio/ (дата обращения: 10.05.2022).

16. Камкин А. С. Введение в формальные методы верификации программ: учебное пособие. М.: МГУ им. М.В. Ломоносов, 2018.

17. AVISPA – Automated Validation of Internet Security Protocols and Applications [Электронный ресурс]. URL: https://www.avispa-project.org/ (дата обращения: 03.02.2023).

18. Бланше Б. Моделирование и проверка протоколов безопасности с помощью прикладного исчисления Pi и проверки // Основы и тенденции в области конфиденциальности и безопасности. Октябрь 2016. № 1 (1–2). С. 1–135.

19. Перевышина Е. А., Бабенко Л. К. Анализ стойкости к атакам криптографических протоколов с использованием формального верификатора SPIN // Известия ЮФУ. Технические науки. 2019. № 5 (207). С. 58–68.

20. Гурин Р. Е., Рудаков И. В., Ребриков А. В. Методы верификации программного обеспечения // Сетевое научное издание. Наука и образование. 2015. № 10. С. 235–251.

21. Пероцкая В. Н., Градусов Д. А. Основы тестирования программного обеспечения: учебное пособие. Владимир: Издательство ВЛГУ, 2017.

22. Топ 10 бесплатных инструментов для автоматизированного тестирования [Электронный ресурс]. URL: https://medium.com/nuances-of-programming/топ-10бесплатных-автоматизированных-инструментов-для-тестирования32e461a78298 (дата обращения: 03.02.2023).

23. Utting M., Pretschner A., Legeard B. A Taxonomy of Model-Based Testing. Technical Report, Department of Computer Science, The University of Waikato, New Zealand, 2006.

24. Delgado N., Gates A. Q., Roach S. A Taxonomy and Catalog of Runtime Software-Fault Monitoring Tools // IEEE Transactions on Software Engineering. December 2004. V. 30, № 12. P. 859–872.

25. Broy M., Jonsson B., Katoen J.-P., Leucker M., Pretschner A. Model Based Testing of Reactive Systems. LNCS 3472, Springer, 2005.

26. Utting M., Legeard B. Practical Model-Based Testing: A Tools Approach. Morgan-Kaufmann, 2007.

27. Ambert F., Bouquet F., Chemin S., Guenaud S., Legeard B., Peureux F., Vacelet N., Utting M. BZ-TT: A tool-set for test generation from Z and B using constraint logic programming // Proc. FATES’2002, August 2002. P. 105–119.

28. Ammann P., Black P. E. Abstracting formal specifications to generate software tests via model checking // Proc. 18th IEEE Digital Avionics Systems Conference, October 1999.

29. Engel C., Hahnle R. Generating unit tests from formal proofs // Proc. TAP 2007. LNCS 4454, Springer-Verlag, 2007. P. 169–188.

30. Sen K., Agha G. CUTE and jCUTE: Concolic unit testing and explicit path model-checking tools // Proc. Computer Aided Verification, August 2006. P. 419–423.

31. Lee I., Kannan S., Kim M., Sokolsky O., Viswanathan M. Runtime Assurance Based On Formal Specifications // Proc. International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA), 1999. P. 279–287.

32. Havelund K., Rosu G. Monitoring Java Programs with Java PathExplorer // Electronic Notes in Theoretical Computer Science. January 2004. V. 55, № 2. P. 1–18.

33. Cavalli A., Gervy C., Prokopenko S. New approaches for passive testing using an Extended Finite State Machine specification // Information and Software Technology. Elsevier. September 2003. V. 45, № 12. P. 837–852.

34. Chen D., Wu J. Chi H. Passive testing on TCP // Proc. International Conference on Communication Technology (ICCT), April 2003. V. 1. P. 182–186.

35. Cheon Y., Leavens G. T. A runtime assertion checker for the Java Modeling Language (JML) // Proc. International Conference on Software Engineering Research and Practice (SERP’02), CSREA Press, June 2002. P. 322–328.

36. Schoeller B. Strengthening Eiffel Contracts using Models // Proc. Workshop on Formal Aspects of Component Software (FACS), September 2003. P. 143–158.

37. Barnett M., Schulte W. Runtime verification of .NET contracts // Journal of Systems and Software. March 2003. V. 65, № 3. P. 199–208.

38. Кларк Э. М., Гамбург О., Пелед Д. Верификация моделей программ: Model Checking: пер. с англ. / под ред. Р. Смелянского. М.: МЦНМО, 2002. 416 с.

39. Рудаков И. В. Разработка и исследование синтетического метода верификации программы с помощью SMT-решателей // Вестник Московского государственного технического университета им. Н. Э. Баумана. Серия Приборостроение. 2016. № 4 (109). С. 49–64.

40. Черников Б. В. Управление качеством программного обеспечения: учебник. М.: Форум, 2012. 240 с.

41. Черников Б. В., Поклонов Б. Е. Оценка качества программного обеспечения: Практикум: учебное пособие. М.: ФОРУМ: ИНФРА-М, 2012. 400 с.

42. Сандлер К., Баджет Т., Майерс Г. Искусство тестирования программ. М.: Вильямс, 2015. 272 с.


Рецензия

Для цитирования:


Мерзлякова Е.Ю., Янченко Е.В. Обзор методов верификации и оценки качества программного обеспечения. Вестник СибГУТИ. 2023;17(1):92-106. https://doi.org/10.55648/1998-6920-2023-17-1-92-106

For citation:


Merzlyakova E.Y., Yanchenko E.V. Review of Software Quality Verification and Evaluation Methods. The Herald of the Siberian State University of Telecommunications and Information Science. 2023;17(1):92-106. (In Russ.) https://doi.org/10.55648/1998-6920-2023-17-1-92-106

Просмотров: 1330


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 1998-6920 (Print)