Бағдарламалық жасақтаманы тексеру және растау процесі
Software verification and validation
Бағдарламалық жобаларды басқару, сынақтан өткізу және әзірлеудегі тексеру мен растау (V&V) процесі – бағдарламаның талаптарға сай келуін қамтамасыз етеді. Сапаны арттыру!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Бағдарламалық жобаны басқару, бағдарламалық қамтамасыз етуді сынау және бағдарламалық инженерия салаларында тексеру және растау (V&V) – бағдарламалық жүйенің спецификациялар мен талаптарға сәйкес келіп, көздеген мақсатын орындауын қамтамасыз ету процесі. Бұл бағдарламалық қамтамасыз ету сапасын бақылау деп те аталады. Әдетте, бұл бағдарламалық қамтамасыз етуді әзірлеу өмірлік циклының бір бөлігі ретінде бағдарламалық қамтамасыз етуді тестілеушілердің жауапкершілігінде болады. Түрліше айтқанда, бағдарламалық қамтамасыз етуді тексеру: «Егер біз X құрастыруы тиіс болсақ, бағдарламалық қамтамасыз етуіміз кез келген қателер мен кемшіліктерсіз мақсатына жетеді ме?» Ал бағдарламалық қамтамасыз етуді растау: «Біз X-ті құрастыруымыз керек пе? X жоғары деңгейдегі талаптарға сай келе ме?»
Process in software project management, software testing, and software engineering
In software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and requirements so that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle. In simple terms, software verification is: "Assuming we should build X, does our software achieve its goals without any bugs or gaps?" On the other hand, software validation is: "Was X what we should have built? Does X meet the high level requirements?"
Бағдарламалық қамтамасыз етуді тексеру
Бағдарламалық жасақтаманы іске қосып, спецификациялар орындалғандығын тексеру қажеттігін білдіреді, бірақ мұндай тексеру мүмкін емес (мысалы, архитектураның/дизайнының/т.б. дұрыс іске асырылғандығын бағдарламаны іске қосу арқылы қалай білуге болады?). Спецификациялар орындалғандығын анықтау үшін оның құжаттарын қарап тексеру қажет.
It would imply to verify if the specifications are met by running the software but this is not possible (e. g., how can anyone know if the architecture/design/etc. are correctly implemented by running the software?). Only by reviewing its associated artifacts, can someone conclude whether or not the specifications are met.
Бағдарламалық қамтамасыз етуді растау
Бағдарламалық жасақтаманы растау бағдарламалық өнімнің мақсатты қолданылуына сай келетіндігін немесе оған сәйкес екенін тексереді (жоғары деңгейдегі тексеру), яғни бағдарламалық жасақтама пайдаланушы талаптарын қанағаттандырады, ғана емес, сонымен қатар барлық мүдделі тараптардың (мысалы, пайдаланушылар, операторлар, әкімшілер, менеджерлер, инвесторлар және т.б.) қажеттіліктерін де ескереді. Бағдарламалық жасақтаманы растаудың екі жолы бар: ішкі және сыртқы. Ішкі растау кезінде мүдделі тараптардың мақсаттары дұрыс түсінілген және талаптар артефактілерінде нақты және толық көрсетілген деп есептеледі. Егер бағдарламалық жасақтама талаптарға сай келсе, ол ішкі расталған болып саналады. Сыртқы растау мүдделі тараптарға бағдарламалық жасақтама олардың қажеттіліктерін қанағаттандыра ма деп сұрау арқылы жүзеге асырылады. Әртүрлі бағдарламалық жасақтаманы әзірлеу әдістемелері пайдаланушылар мен мүдделі тараптардың әртүрлі деңгейде қатысуын және кері байланысын талап етеді, сондықтан сыртқы растау дискретті немесе үздіксіз процесс болуы мүмкін. Соңғы сыртқы растау сәтті болады, егер барлық мүдделі тараптар бағдарламалық өнімді қабылдап, оның олардың қажеттіліктерін қанағаттандыратынын мәлімдесе. Мұндай соңғы сыртқы растау үшін динамикалық тест болып табылатын қабылдау тестін қолдану қажет. Дегенмен, бағдарламалық жасақтама талаптарға сай келе ме екенін анықтау үшін ішкі статикалық тесттерді жүргізуге де болады, бірақ бұл бағдарламалық жасақтама іште жұмыс істемейтіндіктен, статикалық тексеру саласына жатады.
Software validation checks that the software product satisfies or fits the intended use (high level checking), i. e., the software meets the user requirements, not as specification artifacts or as needs of those who will operate the software only; but, as the needs of all the stakeholders (such as users, operators, administrators, managers, investors, etc.). There are two ways to perform software validation: internal and external. During internal software validation, it is assumed that the goals of the stakeholders were correctly understood and that they were expressed in the requirement artifacts precisely and comprehensively. If the software meets the requirement specification, it has been internally validated. External validation happens when it is performed by asking the stakeholders if the software meets their needs. Different software development methodologies call for different levels of user and stakeholder involvement and feedback; so, external validation can be a discrete or a continuous event. Successful final external validation occurs when all the stakeholders accept the software product and express that it satisfies their needs. Such final external validation requires the use of an acceptance test which is a dynamic test. However, it is also possible to perform internal static tests to find out if the software meets the requirements specification but that falls into the scope of static verification because the software is not running.
Тарих
ISVV бағдарламалық жасақтамаға тәуелсіз тексеру және валидациялау (IV&V) қағидаларын қолдану нәтижесінде пайда болды. ISVV-нің қазіргі түріндегі алғашқы қолданылуы 1970 жылдардың басына дейін барып жетеді, ол кезде АҚШ Армиясы Сафгавард зениттік-ракеталық қорғаныс жүйесі үшін IV&V саласындағы алғашқы маңызды бағдарламаны қолдады. Тағы бір мысал – 1993 жылы құрылған NASA-ның IV&V бағдарламасы. 1970 жылдардың соңына қарай IV&V тез дами бастады. Бағдарламалық жасақтаманың күрделілігінің, көлемінің және маңыздылығының үнемі артуы бағдарламалық жасақтамаға қатысты IV&V сұранысын арттырды. Осы уақыт аралығында IV&V (және бағдарламалық жүйелер үшін ISVV) қалыптасып, Қорғаныс министрлігі, FAA, NASA сияқты ұйымдар тарапынан кеңінен қолданылатын болды. IV&V DO 178B, ISO/IEC 12207 стандарттарында көрсетілген және IEEE 1012 стандартында ресми түрде бекітілген.
ISVV derives from the application of IV&V (Independent Verification and Validation) to the software. Early ISVV application (as known today) dates back to the early 1970s when the U. S. Army sponsored the first significant program related to IV&V for the Safeguard Anti Ballistic Missile System. Another example is NASA's IV&V Program, which was established in 1993. By the end of the 1970s IV&V was rapidly becoming popular. The constant increase in complexity, size and importance of the software led to an increasing demand on IV&V applied to software. Meanwhile, IV&V (and ISVV for software systems) consolidated and is now widely used by organizations such as the DoD, FAA, NASA IV&V is mentioned in DO 178B, ISO/IEC 12207 and formalized in IEEE 1012.
ESA-да
2004-2005 жылдары Еуропалық ғарыш агенттігінің жетекшілігімен құрылған және DNV, Critical Software SA, Terma және CODA SciSys plc компанияларынан тұратын еуропалық консорциум, басқа ұйымдардың қолдауымен "Тәуелсіз тексеру және растау жөніндегі ESA нұсқаулығы" деп аталған ISVV-ге арналған алғашқы нұсқаулықты жасады. Бұл нұсқаулық ISVV саласында бағдарламалық жасақтаманы әзірлеудің барлық кезеңдеріне қолданылатын әдістемелерді қамтиды. 2008 жылы Еуропалық ғарыш агенттігі көптеген еуропалық ғарыш ISVV мүдделі тараптарынан және өнеркәсіптік басқару органдарынан түскен ұсыныстарды ескере отырып, екінші нұсқасын жариялады. Мысалы, FDA бағдарламалық жасақтама нұсқалары мен түзетулерін растауды талап етеді.
Initially in 2004 2005, a European consortium led by the European Space Agency, and composed of DNV, Critical Software SA, Terma and CODA SciSys plc created the first version of a guide devoted to ISVV, called "ESA Guide for Independent Verification and Validation" with support from other organizations. This guide covers the methodologies applicable to all the software engineering phases in what concerns ISVV. In 2008 the European Space Agency released a second version, having received inputs from many different European Space ISVV stakeholders. or industrial administrative authorities. For instance, the FDA requires software versions and patches to be validated.