Today we are going to talk about two processes that will ensure us to get a Quality Software: Verification and Validation. These concepts can kind of sound similar, but these two have different approaches.
I remember writing about these two processes in my Being right and doing it right? – Validation and Verification entry, so if you want to get two know what are the differences and the way of how these two work, you can take a read on that. In other words, I would extremely recommend you to get two know what are these two processes since for now, we are going to talk about these topics:
- V&V in the life cycle of software development
- International standards for V&V of Software
- Planning V&V
- Administration of a V&V Plan
V&V in the life cycle of software development.
In this section we are going to talk of how Validation and Verification can take part of a life cycle in software development. You can also take a look on Life Cycles. Software is alive! where a talk about life cycles in software development since in this part we are just going to talk about the union of V&V and life cycles (Actually, I mentioned the V Life Cycle Model in that post as an example of the different life cycles).
So, if you took a look on that previous post, you know that the V&V model looks something like this (if not, no worries, I´ll present it to you):
This model basically is based on the association of a testing phase for each corresponding development stage. The left side (gray arrow going down) are the verification phases and the right side are the validation phases (gray arrow going up). Now that we kind of know how this life cycle looks, let´s take a look on each section.
Requirements Modeling: Requirements are collected and analyzed. Communicating with the costumer is an essential activity on this phase.
Acceptance Testing: Product or software performed in a user environment with real data or whatever that is related with respect to the program.
Architectural Design: Analyze and understand system requirements. Here the techniques or tools to take some implementation inside the product comes in.
System Testing: Expectations form the product developed are met. Functionality, independency, communication is tested by different performances.
Component Design: System design is broken down into little modules.
Integration Testing: Whole system is tested, this means that we ensure the communication of the component design mentioned earlier.
Code Generation: Here comes the detailed design taking in mind everything mentioned above for the programmer or programmers to start coding.
Unit Testing: Here we verify the smallest entity which can independently exist (meaning of unit ) functions correctly. Debugging comes in.
International standards for V&V of Software
In my Being right and doing it right? – Validation and Verification entry I mentioned some standards for V&V of Software inside the “Universal Language” so you can take a look on that…. Trying to show you something new here, you know.
Planning V&V & Administration of a V&V Plan
Planning V&V involves purposes, definition, a general overview, the processes, development, deliveries, activities, integration, maintenance etc, etc. In summary, planning your V&V consists of the administrative registration of what is going to happen the following period of time of development. In this sense, you´re ahead of your documentation and get to do all that´s planned on time since you have an overview and at the same time specific tasks to do in order to approach that quality software that we´ve been talking about these last posts.
But, I know that´s not the answer you are looking for, that last paragraph was kind of obvious, right? Well, let me share with you this image from one of the standards that we talked about earlier (IEEE – 1012) of the plan outline for V&V so you get the idea of how the general overview is and how you need to specify some points mentioned earlier.
As you can see the way to get “administrative” with V&V consists of these basic steps, REMEMBER them:
End of post. See you on the next one!