HW 10 reply

profilenkg-iv
Discussionboard10reply.docx

Discussion board 1:

13.7 Define the terms “verification” and “validation.” Describe the types of tests

that are directed at each, and explain how they meet the definitions of these

terms.

Verification

            System verification refers to the set of actions that are used for checking the correctness of any element, including a system, a system element, a requirement or a service. System verification actions are planned and are undertaken throughout a system life cycle (Sargent, 2013). During the system development process, the verification process is carried out in parallel with the system definition as well as system realization processes. It is worth noting that verification applies to any activity throughout the system development life cycle. Verification determines whether or not a product or an activity meets the specifications or requirements established for it. It also refers to whether a product or system complies with a certain regulation, specification, and requirement as well as imposed condition (Niazi, Hussain & Kolberg, 2017). It is an internal process.  System verification helps to determine whether the system was built right.

            An example of verification testing is when the user tries to check whether a system is able to perform in both normal and abnormal conditions. For example, if a system is meant only to accept digits, during system verification, the user will try to input both digits and letters. The system will be said to have met the set requirements if it returns an error message when letters are input in the system. Also, verification testing can be done to determine the environmental conditions under which the system can operate and also the system requirements such as storage and electrical power supply requirement of the system. For example, if the system is meant to store 1 GB of data, verification can be done before the system is installed to the organization to check whether it is capable of storing 1GB of data. This can be done sending files worth 1 GB to the system to check whether it can accommodate such amount of data. Furthermore, verification can be done to check whether the code is logically correct. Furthermore, verification testing can be done by scanning through the system code to ensure that there is no ‘hidden’ code that is meant to perform unauthorized functions.

Validation

            Validation refers to the assessment of a planned or complete system to meet the client’s operational needs in the most realistic environment achievable. It is a confirmation that all the user’s needs are satisfied or will be satisfied in the final system or program. This is often an external process (Niazi, Hussain & Kolberg, 2017). According to Tamura et al. (2013), system validation determines whether the right system has been built. System validation testing determines whether the right system has been built. For example, if a user ordered an inventory system, the validation testing will check whether the software system is able to track inventory levels, orders as well as deliveries. If the system is able to do all these tasks, the system will be regarded to have passed the validation test; otherwise the system will have failed the validation test.  This test meets the definition of validation because it finds whether the right system was built.

References

Niazi, M. A., Hussain, A., & Kolberg, M. (2017). Verification & validation of agent based simulations using the VOMAS (virtual overlay multi-agent system) approach. arXiv preprint arXiv:1708.02361.

Sargent, R. G. (2013). Verification and validation of simulation models. Journal of simulation7(1), 12-24

Tamura, G., Villegas, N. M., Müller, H. A., Sousa, J. P., Becker, B., Karsai, G., ... & Wong, K. (2013). Towards practical runtime verification and validation of self-adaptive software systems. In Software Engineering for Self-Adaptive Systems II (pp. 108-132). Springer, Berlin, Heidelberg

Discussion board 2:

13.7 Define the terms “verification” and “validation.” Describe the types of tests

that are directed at each, and explain how they meet the definitions of these

terms.

Verification and Validation

Validation and verification are words that are commonly used in software engineering to mean two unique types of analysis. Validation includes, “is the right system being built?” while verification will incorporate, “is the building of the system, right?” In other words, validation refers to checking to ensure that the system meets the actual needs of the customer (Sargent, 2013). Verification, on the other hand, implies checking whether the system is error-free or well-engineered. It is what helps to determine if the software is of high quality but will not make sure the usefulness of the system. The distinction is primarily due to the specifications’ role. Validation process involves checking if the customer’s needs are captured in the specifications whereas the verification process confirms if the software complies with the specifications (Sargent, 2013).

Verification involves all testing techniques that are static for example inspection, walkthroughs, and reviews (Singh, 2012). In a review, a product examination is done by individuals other than those who developed it. Software inspections are disciplined practices meant to detect and correct defects and prevent their leakage into operational fields. In a walkthrough, after the description of the product, the producer asks for comments from participants. A walkthrough generally serves to increase participants’ awareness of the product.  Static testing is mostly done at the earlier stages of the development cycle, the reason why it is called verification testing (Singh, 2012). It checks the documents required, the code and puts comments reviews in the working document, ensuring that the system is of acceptable standards.

The validation process is hugely subjective. It involves making assessments that are subjective of how able the system is to address real-world wants. It includes all dynamic testing activities, for example, regression testing, systems, and smoke testing (Singh, 2012). Regression testing ensures that no changes made during development have resulted in new bugs. System testing is done on a completed software before being introduced to the market. Smoke testing is meant to ascertain that the program’s critical functionalities are running fine. Dynamic testing performed when the code is operating and in a runtime environment. It is meant to monitor the software’s functional behavior including the system’s memory, overtime response of the CPU and system performance; also known as validation testing (Singh, 2012). 

 

 

 

 

 

 

 

 

 

 

 

References

Sargent, R. G. (2013). Verification and validation of simulation models. Journal of simulation7(1), 12-24.

Singh, Y. (2012). Software testing (pp. 38-40). Cambridge: Cambridge University Press.