Процесс сертификации программ на базе информации об их использовании.

 

Это новый подход к сертификации, который, по утвержде­нию его разработчиков, дает надежные гарантии качества для коммерческих программных пакетов.

Методов сертификации качества программного обеспечения становится все больше и больше. Популярные подходы, осно­ванные на процессах, такие как ISO 9000 и SEI-CMM, вынужда­ют создателей программного обеспечения жестко придерживать­ся выбранных стандартов и процессов разработки. Такие подхо­ды зачастую требуют участия аудиторов, которые проверяют документацию производителя и то, как он выполняет данное им обещание. Но даже если аудитор по сертификации может убе­диться в чистоте намерений производителя, одна эта проверка вовсе не гарантирует, что созданное программное обеспечение будет высокого качества.

Принимая во внимание эту проблему, можно предложить методологию сертификации, которая не требует, чтобы произво­дитель давал клятвы, а аудиторы проверяли, насколько эти клят­вы выполняются. Можно с уверенностью сказать, что только полностью независимая сертификация продукта и есть тот под­ход, которому могут доверять потребители.

Пригласив третью сторону для выдачи сертификатов качест­ва на программное обеспечение, разработчики снимут с себя от­ветственность, как это делает врач, приглашая для консультации другого доктора или проводя еще один анализ. Конечные поль­зователи тоже выиграют от того, что беспристрастная оценка продукту будет даваться независимыми организациями. Таким образом, есть разумные причины для появления учреждений, которые будут сертифицировать качество программного обеспе­чения.

Организации, выполняющие такую сертификацию, называ­ются лабораториями по сертификации программного обеспече­ния (Software Certification Laboratories — SCL). Их достоинство в том, что они смогут предоставить равные возможности всем производителям, если, конечно, каждый продукт будет тестиро­ваться в равных условиях.

SCL до сих пор не получили широкого распространения именно из-за ответственности, которую берет на себя организа­ция, выдающая сертификат. Если сертифицированное ПО не оправдывает ожиданий при использовании его в реальном про­изводственном процессе, удостоверитель, выдавший сертификат, несет за это определенную ответственность. Суды в США пе­чально известны своей исключительной требовательностью к тем, кто называет себя профессионалами, будь то врачи, юристы и инженеры.

Вот и SCL могут потерять свое реноме и лишиться права за­ниматься сертификацией в случае ошибки. Чтобы несколько снизить этот риск, необходимо использовать точные методы при принятии решений о сертификации — в идеале автоматизиро­ванные. К сожалению, даже если SCL использует лучшие мето­дики статистического анализа и динамического тестирования, не всегда можно понять, какому реальному воздействию подверг­нется программа в руках пользователей. Таким образом, SCL сталкивается с проблемой точного определения того, как будет вести себя программная система — самое главное, что требуется от уполномоченных по выдаче сертификатов.

Процесс сертификации, о котором идет речь, использует ав­томатизированные процедуры, что позволяет отказаться от услуг аудиторов. Этот процесс использует ресурсы тестирования ко­нечными пользователями, полагаясь на доказавшие свою со­стоятельность методы, подобные тем, благодаря которым Linux стала самой популярной и надежной из всех разновидностей Unix. Предлагаемый процесс, полностью основанный на продуктах, как таковых, оценивает качество работы программно­го обеспечения, а не качество процессов создания кода.