Verification and validation - what is it in simple words. Data verification - what is it

  • Date: 22.09.2019

The term "verification" is used in the field of science and is defined as a way to establish the truth or falsity of certain theoretical data. IN scientific work verification of certain knowledge is carried out by comparing the available theoretical information with the parameters obtained in a practical way, which are reference and valid.

In the field of production of various goods, the verification procedure is used to identify the conformity of the product received to certain requirements, which are considered fundamental and fixed in certain documents, specifications or provisions.

Verification in IT

The information technology verification procedure is used to verify user-specified information. As a rule, the operation is carried out after the user specifies important data, for example, when registering remotely in the payment system or when applying for remote work, when the user is required to provide electronic copies of these documents. Verification helps to protect large Internet resources from fraudulent activities that can jeopardize the security of information security.

During the verification process, the personnel who are involved in checking the user registration data compare the data entered by the user with the existing documents. If necessary, the specified information can be verified by a separate service working with the company.

Application

The verification procedure can be automatic. For example, when registering on a particular resource, the user can be sent a message to the specified e-mail. By clicking on the automatically generated link, the visitor gets access to the resource, confirming that the e-mail is real. Verification can also be systems for sending SMS messages with a code automatically generated by the system, which must be entered in a special form. The operation allows you to determine whether the given phone number is in the user and whether it was specified correctly.

Verification is applied in work software... For example, programs for recording data on a storage medium have the option of checking the quality of the recorded material and comparing it with the original data stored on the computer. If violations are detected, the program will check the damaged disk and will ask you to rewrite it or will display a message about the need to install another data carrier.

Apparent or real anonymity on the Internet is a factor for which many users love the worldwide network, and are looking for all sorts of ways to preserve and maintain incognito (by different reasons).

Content:

Definition

Following encyclopedic or dictionary definitions, we can say that verification is a confirmation of the reality and truth of an individual or groups of individuals (for example, in groups of organizations in social networks, performing any banking operations, etc.).

This term comes from the Latin word veritas - truth, literally translated as "to make true", that is, to confirm.

Thus, the verification process is a direct process of removing incognito from a person or an organization.

However, it is not only specific people or organizations that are verified. This term also applies to various other areas.

Verifying your phone number or address email by sending a certain code or link to it - this is also verification, but not a person, but data.

In fact, any information, any data, any person or organization can require confirmation of the truth. In some areas it is mandatory, in others it is desirable, in others it is optional, and so on. In certain cases, it can give certain bonuses or opportunities.

Scope of the term

This concept is used in many areas, but it is most widespread in the financial sector and on the Internet.

In the financial sector, it is most necessary because it is in it that the greatest number fraudulent activities, and it is always carried out with the aim of avoiding fraud.

4 Verification is sometimes needed in order to avoid the appearance of clone pages for entertainment purposes or with information that spoils a person's reputation (this is especially true for public figures, but not only they confirm their accounts);

5 All the advantages and features of the previous paragraph apply not only to personal accounts, but also on public pages of organizations or simply popular communities on the Internet;

6 in in most cases it is needed to provide imaginary user security, for example, when threats are detected in someone's address, the person who nominated them is easier to prosecute if his account is verified (although in fact this system hardly works);

7 When making paid subscriptions to a site, audio library, video library or librariesat. Registration in confirmation of reality is necessary to resolve possible monetary disputes and avoid fraudulent actions on the part of users;

8 Almost all sites working with electronic money systems, also for this purpose, a verification procedure is carried out, especially when it comes to the turnover of more or less significant amounts (for example, it implements several stages of account confirmation, while at each new stage the user is given access to more advanced system functionality).

Not all users are aware that many social networks, although they do not require verification by default, can be performed at the user's request. For example, on the site, you can contact the Support Service in order to carry out such a procedure if, for one reason or another, you see a need for it. In this way, you can verify your account or public.

Account verification

When is it worth confirming your account or public?

1 When you arrive, you have enough a large number subscribers to avoid the appearance of clones;

2 With the regular organization of any meetings and / or events, since verified account is more credible;

3 About committing any financial manipulations or placing a request for them (for example, when collecting funds for charity), for the same reasons;

4 If available the purpose of promoting an account or a public, for the same reasons;

5 When posting texts, images, music, etc. of your own composition, other intellectual property for the purpose of at least minor copyright protection;

6 When political or activist activities (although much here depends on the type of activism);

7 When working and posting information on behalf of a company or organization, etc.

8 In fact, any account can be verified. The administration, for example, VKontakte, usually does not have any questions about the purpose or for what reason the confirmation is made.

Although it is important to consider that it also has a number negative consequences ... And first of all, this is the lack of anonymity - roughly speaking, you bear a little more responsibility for the materials and information posted. Although the lack of anonymity will still prevent you from posting, for example, since even without confirming the account, the location and identity of the user is quite easy to find out if you set such a goal.

How to get the?

Verification in progress different ways and depends on the purpose for which it needs to be obtained.

Confirmation numbers mobile phone, for example, is carried out by sending it to it, which must be entered on the site page, named to an employee of the organization, etc.

E-mail confirmation is usually required only on some sites.

Moreover, in most cases, if the email address is not confirmed, then you will not be able to register on the site.

The situation is more complicated with account verification in social network. By default, most networks do not require this - just confirmation of the email address and / or phone number. In this case, you can create an account with any name or any content.

But for example, if you want to change the name or surname indicated in the profile on a social network, for example, you may require account verification to change the name.

Documents

Account verification is carried out by providing a photo of documents - usually, the main spread of the passport, on which the user's first and last name are clearly visible.

To confirm the official pages of the groups, one or another information may be requested.

Depending on the status of the organization, including the registration certificate legal entity.

Requires to provide photos of various documents, depending on the level of confirmation - from other financial documents.

Important! Before sending a photo of documents to the administration, make sure that the site is reliable. Please note that if there are even minimal doubts about the reputation of the site, then you cannot send photos of documents. In addition, before submitting a photo, check the link in the address bar to see if the site is a clone, phishing, etc.

Objective - to study methods of checking compliance with the developed simulation model real system.

In progress laboratory work the student must learn how to verify the simulation model by building a logical block diagram and interactive control over the course of modeling using the debug program built into the specialized language GPSS / H; check the correctness of building a conceptual model in a computer; validate the simulation model by comparing the experimental results with the results of analytical calculations.

Note

It is assumed that the student is familiar with the theory of queuing systems and the basics of modeling systems in the specialized language GPSS / H.

2. Theoretical provisions

2.1. Verification and validation of simulation models

If the model incorrectly reflects the dynamics of the system, then it is obvious that the results obtained with its help will be incorrect. Therefore, one of the main problems in modeling is checking the conformity of the developed model to the real system. In Russia, such a check is called adequacy, and abroad it is divided into verification and validation.

Verification is the verification of the correctness of the construction of a conceptual model in a computer. It is used when comparing a conceptual model with its computer representation and answers the questions: is the model executed correctly on the computer? Are the input parameters and logical structure of the model represented correctly?

The following methods are used for verification:

1. Checking the correctness of the results for "extreme" values. Wherein:

- set zero values \u200b\u200bof the model input parameters and analyze the results. If the results are not , then the model is checked and refined;

- set the values \u200b\u200bof the input parameters of the model, which cannot be in a real system, and based on the simulation results, the correctness of the model's response is estimated;

- carry out long-term modeling and evaluate the results. At the same time, errors and suspicions are revealed: the load of the service devices is zero; the number of applications entering the server is not zero, and the load of the server is zero; the number of entries to the queue is equal to its current content.

2. Analytical calculation of characteristics and their comparison with model results. Over a long run, the instrument usage is calculated manually and the calculated value is compared with the simulation results. But there are characteristics that cannot be calculated analytically, for example, the average service time of a request. However, the parameters in the model are interrelated and checking one characteristic increases confidence (or not confidence) in other parameters and the model as a whole, even if the exact relationships between the characteristics are unknown and vary from run to run.

3. Building a logical block diagram and interactive control over the course of simulation using debug programs. Create a simple logical block diagram for a node in the model. For example, for a single-channel QS, you can draw up the block diagram shown.

Then, using the debug programs built into the simulation packages, they check whether the logic of the model corresponds to the constructed block diagram. In this case, they use:

- run up to a certain time or event and output information for a given period of time;

- pause simulation by the value of the current value of the variable of the selected component of the model (queue, device, counter, attribute).

4. Using the imitation footprint. A simulation footprint is a detailed printout of model changes over time. It is specially designed for use in simulation programs. It allows you to view the value of the selected variables at each time increment (from event to event). When analyzing such a simulation footprint, errors and inconsistencies of the model with the real system can be identified.

5. Documenting the model and checking by a person not involved in the development of the model. This method is often neglected. But if the modeler writes brief comments in the computer model, defines all the variables and parameters, and marks the main modules of the model, this makes it much easier for someone and the model designer himself to check its logic.

6. Checking by animation. IN recent times simulation software is coupled with computer animation programs. Animation allows you to trace the operation of the model, displaying the dynamics of the operation of its elements on the monitor in the form of graphical analogues of a real system. Using animation to highlight characteristic species errors: untimely movement, disappearance or overlapping of objects displaying data packets, cars, people, etc.

Validation - checking if the model is a valid representation of the real system. The purpose of validation is twofold, firstly, to create a model that represents the behavior of a real system as fully as possible. Second, increase the acceptable level of model confidence so that the model can be used for system analysis and decision making.

There are no generally accepted quantitative estimates of model validation. Most authors believe that if the deviation of the simulation results from the indicators of the real system or determined by another method does not exceed 7-10%, then the model is considered valid.

Although verification and validation are conceptually different, they usually take place at the same time. Some of the methods are even identical (for example, checking a model by animation, creating a simulation trace).

Many people, and not only users of computer systems, have heard of the concept of "data verification". What it is - most people know only by hearsay, applying this term exclusively to computer technology, often confusing it with concepts. Here you will have to give a little explanation, which in the material below will be presented in the simplest possible language.

Data verification: what is it generally understood?

First, consider general meaningwithout going into details of where such technologies can be used. In fact, this term comes from two Latin words (verus and facere), which form the corresponding phrase, and when combined, they mean "verification / confirmation of truth."

If you look more broadly at what data verification means, you should pay attention to the following point: the approach of checking or confirming the truth of some information can be applied in almost any area modern activities human. We propose to consider several fundamental examples that will allow fully understand the essence of this term.

Information authentication: why is it needed?

Since it is precisely about checking and confirming any information, on the present stage the development of human society includes several main directions:

  • general information about the person himself;
  • registration documents;
  • registration on Internet resources;
  • information for banks and payment systems;
  • compliance of a product or product with applicable regional or international standards;
  • verification of the copy's compliance with the original, and more.

Data and customer verification: what is it in the banking sector?

First of all, we will consider the banking sector, since today very many of us use loans, flow accounts or the same plastic cards. Why is this topic initially raised? Since this aspect also includes the verification of the passport data of the person himself, which certifies his identity (equally this can be attributed to any other area).

But we use the banking sector only as an example. Let's say you came to a bank to get a loan or open a current account in the form of a debit card. The bank officer asks for a passport and tax identification code. After entering information into a computer program, the databases contained in state register in order to confirm your identity according to the documents provided. It is clear that a fake passport, code, verbally specified personal data will not be verified.

Using online verification

The question of what verification of data means when registering on Internet portals or in the corresponding services comes down only to the fact that you initially indicate true information about yourself in the sense of personal data and confirm the registration. But there is one nuance here.

In this case, a slightly different concept of data verification works. What it is from the point of view of confirmation is easy to understand, because when filling out the appropriate questionnaire, you will be asked to enter your email address or mobile phone number, and then confirm your data by responding to a letter or an incoming SMS. Sometimes the owners of payment systems can contact you personally.

In addition, there is one more aspect concerning payment systems. The point here is that in some of them you will have to provide a photocopy of your passport, code and bank card, to which e-wallets will be linked. Data verification works here too. What is it in this case? This is a routine check for the correspondence of the passport data of the registered subject and the wallet / card / account holder.

Please note that either the code in this case does not work, because the same WebMoney services can be used by people from countries scattered around the world, and the system will not be able to check them even if it wants to, even purely technically (it simply does not have enough computing resources, not to mention blocking access to government databases).

The only thing that the system can use is the issuance of a special certificate (usually it is enough to get a formal one in order to use wallets and withdraw funds).

An example of using verification in application software

Now a few words about computers. We will not consider the compliance of the developed programs with any standards, but we will give one of the most simple examples based on the well-known program for recording information with burning an optical disc Nero Express.

For example, you decide to create an audio CD by adding the appropriate music tracks. Before starting the burn, you can set the active option to check the data at the end of the process.

Upon completion of the recording, a window will appear in the program, indicating that data verification has begun. What is it in this situation? This is a check of compliance of the recorded files with the original, not to mention testing the surface of the carrier. If the check is successful, you can rest assured that the recorded disc can be played without any problems not only in software, but also on household players.

Verification errors

If, in such a situation, a data verification error appears, this may indicate an incorrectly installed recording method, physical damage to the media, system failures, and so on.

Errors that appear when identifying a bank user or client, in most cases, this can also refer to problems with the installed software or even to disruptions in communication when accessing the Internet. In the event of such failures, they may refer solely to the fact that there are errors in the code being entered itself (even before compilation starts). The most commonly used editors first underline lines with incorrect command syntax, and then issue a notification when trying to compile.

The same can be attributed to the organization of local networks, when the central server cannot recognize all local terminals. There are many options, but they fix such failures taking into account each specific situation. There is no point in considering all of them, since it will take too much time.

Finally

It is hoped that the material presented above will allow many to understand what verification is and why it is needed. Today, such processes are present everywhere. It is impossible to attribute them exclusively to our computer age, because the very concept and principles of using such technologies originated much earlier.

St. Petersburg

State Electrotechnical University

Department MOEVM

by discipline

"Software product development process"

"Software verification"

St. Petersburg

    Purpose of verification ………………………………………………………………… p. 3

    Introductory remarks …………………………………………………………… .. page 3

    Specific and general targets ………………………………………… .. page 4

    Expected practice by target ……………………………………… p. 4

SG1 Preparing for verification …………………………………………… ..... page 4

SG2 Conducting expert examinations (expert assessment) ………………………… page 7

SG3 Performing verification ………………………………………… ..... page 9

    Appendix 1. Overview of means of automation of the verification process ……… .. p. 11

    Appendix 2. Main modern approaches to verification …………… .. p. 12

    List of used literature …………………………………………… .. p. 14

Integrated model of excellence and maturity

VERIFICATION

(Maturity level 3)

    goal

The purpose of verification isproviding assurances that the selected middleware or final product meets specified requirements.

    Water Notes

Verification of software products is checking the finished product or its intermediate versions for compliance with the original requirements. This implies not only testing the program itself, but also auditing the project, user and technical documentation, etc.

The purpose of software system verification is to identify and report errors that may occur during the life cycle stages. The main tasks of verification:

    determining compliance of high-level requirements with system requirements;

    consideration of high-level requirements in the system architecture;

    compliance with the architecture and requirements for it in the source code;

    determining the compliance of the executable code with the system requirements;

    determination of the means used to solve the above tasks, which are technically correct and sufficiently complete.

Verification includes the verification of the finished product and the verification of intermediate products against all selected requirements, including customer requirements, requirements for the finished product and requirements for its individual components.

Verification is inherently an incremental (cumulative) process from the moment of its inception throughout the development of products and all work on products. Verification begins with the verification of the requirements, followed by the verification of all intermediate products for different stages their development and manufacture and ends with the verification of the final product.

Verification of intermediate products at each stage of their development and manufacture significantly increases the likelihood that the final product will meet the customer's requirements, the requirements for the finished product and the requirements for its individual components.

Verification and Validation of processes are essentially related processes, aimed, however, at obtaining different results. The purpose of Validation is to demonstrate that the finished product does indeed fulfill its original purpose. Verification, on the other hand, is aimed at making sure that the products exactly meet certain requirements. In other words, Verification guarantees that “ you do it right", And Validation is that" you are doing the right thing”.

Verification should be implemented as early as possible in appropriate processes (such as delivery, development, operation, or maintenance) to assess the cost-effectiveness and work performed. This process can include analysis, verification and testing (testing).

This process can be performed with varying degrees of independence of the performers. The degree of independence of the performers can be distributed both between different actors in the organization itself, and among actors in another organization, with different degrees of distribution of responsibilities. This process called a process independent verificationif the executing organization is independent of the supplier, developer, operator, or support personnel.

Expert assessments (expertise) are an important component of verification as a well-proven means of effective defect elimination. An important takeaway from this is the need to develop a deeper understanding and understanding of the working versions of the product, as well as the workflows used to identify possible defects and create opportunities for improvement, if necessary.

Expertises include a methodological study of the work performed by experts in order to identify defects and other required changes.

The main methods of expert assessment are:

    inspection

    end-to-end structural control

3. Special and general targets

3.1 Specific targets:

SG 1 Prepare for verification

SG 2

SG 3

3.2 General targets:

GG 1 Reach special goals

GG 2 Put a managed process

GG 3 Deliver a specific process

GG 4 Deliver a quantified process

GG 5 Deliver an optimization process

4. Expected practice by target

SG 1 Prepare for verification

To complete verification in its entirety, preparation for verification is necessary to ensure that all levels of verification are manageable. Verification includes review, testing, analysis and demonstration. Preliminary verification confirms (verifies) that all verification “assurance” (those conditions that ensure its successful implementation) are embedded in the requirements for the product and for the product activities.

Verification methods include, but are not limited to, inspection, peer review, audit, structural end-to-end, analysis, simulation, testing, and demonstration.

Preparation also entails defining all aids, test equipment and software, simulations, prototypes, etc.

In general, at this stage, the following range of main tasks can be distinguished:

    The need for verification work in the project and the degree of organizational independence in carrying out this work should be determined. The design requirements should be analyzed for criticality. Criticality can be assessed in terms of:

    the potential for an undetected error in a system or software requirement, resulting in death or injury to personnel, failure to complete a task, financial damage, or catastrophic destruction of equipment;

    the perfection of the programming technology used and the risks associated with its application;

    availability of funds and resources.

    If the project involves verification work, a verification process should be established for verifying the software product.

    If the project involves independent verification work, a qualified organization should be selected to carry out the verification. This organization should be guaranteed independence and authority when carrying out verification work.

SP 1.1-1 Establish a verification strategy

An organization-wide verification strategy for the selected work product shall be established and maintained.

A verification strategy is created to establish the specified activities related to the products of the activities to be verified. This process translates into specific, detailed strategies and procedures for product verification.

Requirements and strategies for verification are usually documented. A verification strategy focuses on the specified activities, sources, and environment required to conduct verification of the work product. This is somewhat different from the verification plans specified by general planning and process practices. Common Practices define the tasks of the processes, who is responsible for them and the main resources required. On the contrary, the verification strategy indicates technical the approach to verification of the work product and the specified approaches to be used for verification.

A verification strategy typically begins with an examination of the requirements for the product and its components to ensure that these requirements are verifiable.

For software development

Verification methods may include the following:

    Service area testing

    Operational and Limiting Testing

    Decision Table Based Testing

    Functional decomposition testing

    Testing reuse cases

    Alpha and Beta testing

    Testing the operational (production) scenario

    Acceptance tests

For integrated process products

The verification strategy should develop in parallel and iteratively with the development of the product and its components.

SP 1.1-2 Set up the verification environment

A verification environment must be established in order to enable verification to take place. The verification environment can either be acquired, or developed, or reused, or modified, or a combination of all of the above, depending on the needs of the project.

The type of verification environment required will be determined by the verification criteria and the verification methods used.

Main (typical) products of works:

    Verification equipment

    Verification environment

Supporting work:

1. Identify the requirements for the verification environment

2 Identify resources available for reuse or modification for verification

3. Identify equipment and verification tools

4. Purchase hardware and software used to support verification work

SP 1.1-3 Define Detailed Verification Plans

At this stage, it is necessary to perform the following works:

    The planned activities in the life cycle and the software products to be verified should be identified based on the analysis. areas of use, size, complexity and criticality of the project. Verification activities and tasks for the software products verifiable in the lifecycle should be selected, including appropriate methods, techniques and tools.

    A verification plan should be developed and documented based on the identified verification objectives. The plan should relate to lifecycle verifiable activities and software products; contain the required verification tasks for each object; Determine the appropriate resources, responsibilities and work schedule. The plan should include procedures for communicating verification reports to the customer and other interested parties.

    A verification plan must be implemented. Problems and inconsistencies found during verification should be incorporated into the problem solving process (clause 6.8). All problems that have arisen must be resolved, and the detected inconsistencies must be eliminated. The results of verification work should be available to the customer and other organizations participating in the contract.

Supporting work:

1. Plan multiple, comprehensive, integrated verification work

2. Develop and improve the quality of verification criteria as needed

3. For verification of each work, define verification methods.

4. Determine the expected result

SG 2 Conduct peer review

Peer review includes inspection of products with experts in order to identify defects that need to be eliminated and indicate places for making other necessary changes.

Peer review is mainly used for the output of project work, but it can also be used for work such as documentation, etc.

SP 2.1-1 Prepare for peer review

Preparatory work for the examination usually includes the determination of the circle of persons who will carry out the examination (performed for each work subject to the examination), the determination of the main reviewers (observers) whose participation in the examination will be necessary, the preparation and updating of any materials that will be used in the course of examinations as checklists and review criteria (examination), and scheduling examinations.

Main products of works:

    Expert evaluation schedule

    Expert Assessment Checklist

    Input and Output Criteria for Work Products

    Criteria for rechecking

    Training material for peer review

    Selected work products subject to expert evaluation

Supporting work:

1. Decide what type of peer review will be carried out

Examples of possible types:

  • end-to-end structural control

2. Determine the requirements for the information collected during the peer review

3. Establish and maintain input and output criteria for selected work products

4. Establish and maintain criteria for rechecking selected work products

5. Establish and maintain a checklist to ensure that selected work items are inspected consistently

6. Ensure that the work output meets the entry examination criteria before the work is sent for examination.

7. Distribute in advance the products of the work to be inspected and related information among the participants in the examination in order to enable them to sufficiently prepare for the examination.

8. Assign roles for expertise.

Role options :

    leader (head of expertise)

    reader

    recorder

SP 2.2-1 Manage Peer Review

One of the goals of expertise management is the desire to identify and remove defects as early as possible in the life cycle. Examinations are carried out incrementally as intermediate products are developed, rather than at the very end of the life cycle. Such examinations will not be managed.

Examinations are carried out on the key work of the phases of specification, development, testing, preparation of accompanying documentation, as well as planning (for example, planning software development, planning risk management or planning tests).

The main focus of the examination should be on the product of the work to be inspected, and not on the person who sold the product.

The results and conclusions of the examination should be communicated to the main developer of this work product for possible correction.

Examinations should be guided by the following principles: sufficient preparation should be carried out, the process should be managed and controlled, essential information obtained during examinations should be recorded, and actions (work) performed during the examination should also be recorded.

Main products of works:

    Expertise results

    Expert opinions

    Information obtained during the examination

Supporting work:

1. Perform assigned roles during the review

2. Identify and document defects and other results in work products

3. Record the results of the examination and document the actions taken

4. Collect information (data) during the examination

5. Communicate the expertise decisions to the organizers of the joint business (leading product developers)

6. Schedule re-examinations if products meet their criteria

7. Make sure the exit examination criteria are met

8. Assign roles for expertise.

Role options :

    leader (head of expertise)

    reader

    recorder

SP 2.3-2 Analyze the information received

SG 3 Verify selected works

SP 3.1-1 Perform verification

Typical work products:

    Verification results

    Verification reports

    Demonstrations

Supporting work:

1. Verify COTS and reusable components against specified requirements

2. Verify products according to selected verification strategy and procedures

3. Record the results of verification work

Verification criteria:

In general, the following criteria for the verification process at its various stages can be distinguished:

    Process verification

The process must be verified against the following criteria:

    the conformity and timeliness of the establishment of project planning requirements;

    suitability, feasibility, feasibility in accordance with the plan and the terms of the contract of the processes selected for the project;

    applicability of standards, procedures and conditions to design processes;

    staffing level and training in accordance with the terms of the contract.

Verification of requirements

The requirements must be verified against the following criteria:

      • consistency, feasibility and testability of system requirements;

        distribution of system requirements between objects of hardware and software and manual operations according to the project;

        the consistency, feasibility, testability, and accuracy of reflecting system requirements in software requirements;

        the correctness, confirmed by appropriate methods, of the software requirements for security, protection and criticality.

    Project verification

The project must be verified according to the following criteria:

        the correctness of the project, its compliance with the established requirements and the consideration of these requirements in the project;

        feasibility in the project of an appropriate sequence of events, input data, output results, interfaces, logic, distribution of time and material resources, as well as detection, localization and recovery of errors;

        the ability to choose a project based on the established requirements;

        the correctness, confirmed by appropriate methods, of the implementation in the project of safety, security and other critical requirements.

    Verification of the program

The program must be verified according to the following criteria:

        taking into account the project conditions and established requirements in the program; its testability, correctness and compliance with the established requirements and programming standards;

        realizability in the program: appropriate sequence of events, appropriate interfaces, correct data and control logic; distribution of time and material resources; detection, localization and recovery of errors, as well as its completeness:

        the ability to choose a program based on the project or established requirements;

        the correctness, confirmed by appropriate methods, of the implementation of the security, protection and other critical requirements in the program.

    Assembly verification

The assembly must be verified against the following criteria:

        completeness and correctness of assembly of software components and modules of each software object into the corresponding software object;

        completeness and correctness of assembly of technical and software objects and manual operations into the system;

        performing build tasks according to the build plan.

    Verification of documentation

The documentation must be verified against the following criteria:

        compliance, completeness and consistency of documentation;

        timeliness of preparation of documentation;

        adherence to established configuration management procedures document

SP 3.2-2 Analyze verification results and determine corrective actions

To determine the degree of acceptability, actual results must be compared with established verification criteria.

The results of the analysis are recorded as evidence that the verification was controlled.

Analyst reports can also indicate that poor verification results are due to a lack of methodology, criteria, or infrastructure problems.

Main products of works:

    Analytical report (statistics, analysis of inconsistencies, comparison of the behavior of real products and its model, deviations, etc.)

    A set of corrective measures to correct identified deficiencies

SP 3.3-1 Perform Re-Verification (re-verification)

Re-verification is carried out to ensure that defects have been eliminated and that the output of the work has not been damaged (tainted) as a result of corrective action.

Re-verification, as a rule, focuses in detail on those parts of the work production in which certain defects were found.

Appendix 1. Overview of automation tools for the verification process

There are many products on the market that can automate the verification process. These include Purify, TestCenter, Logiscope, and others. Verilog's Logiscope suite is a family of tools (TestChecker, CodeChecker, RuleChecker, ImpactChecker, and Viewer) with a common goal: to help users improve the quality and conduct comprehensive testing of the software they create. The product is based on an idea source code analysis... Him latest version is capable of handling code written in over 80 languages, including C, C ++, Pascal, Cobol, Fortran, PL1, ADA, and even Intel and Motorola assembly languages. The results of the analysis are presented in the form of numerical indicators (metrics of which there are more than 50 types), which make it possible to judge the quality of the program source code. The TestChecker component monitors the behavior of the program under test during its execution and, in the course of its work, builds call trees, execution profiles, marks non-called functions and non-executable procedures. Logiscope supports a reverse engineering function, with which you can reconstruct the structure of a program from object code, which is useful for understanding the logic of its operation and the nature of the data used.

CenterLine's TestCenter program is specially designed for professional C and C ++ programmers. From the statistical data it follows that during the usual testing only 40 - 50% "feasibility" is checked common code programs. This is explained by the fact that with traditional, "manual" testing, it is impossible to check the operation of the program with all possible combinations of initial data or to simulate rare errors such as out of memory. With such testing procedures, it is difficult to talk about the high quality of the finished programs. The TestCenter package allows you to organize global software testing at an industrial level, and make testing itself a natural part of the development process due to its direct integration with other well-known tool shells (SPARCworks, SoftBench, ObjectCenter and ObjectCode).

During debugging / testing of programs, TestCenter shows lines of source code that are not executed during the test, uninitialized memory areas, memory that was reserved but not used, used but not released, cases of incorrect use of malloc / free operators, etc. Error simulator (Error Simulator) can generate rare and difficult to debug errors like disk full or mentioned out of memory, and the Simulator API can generate interface errors, such as incorrect order of arguments when calling functions or incorrect return code. When using TestCenter, there is no need to recompile programs, and for the Error Simulator to work, you don't even need the source code of the program under test.