Test Specification Development
Verification and validation (V&V) is a process that ensures that a software design meets the requirements that the customer or stakeholder expects, as well as the developer. Verification is the process of confirming that a product is built correctly. Validation is the process of confirming that a product, as it is, will fulfill its intended purpose. Verification and validation is done by an input and output process that gives results that will verify or validate the software. This is done by physical or digital means that progress from assemblies to components, and products and systems (Chambers.com, n.d.). One of the most important tests to perform during the V&V process is interface testing. This is done to determine if components or systems pass control and data correctly to each other. More often than not, interface testing is performed by the development team as well as the testing team. It’s during interface testing that it is determined if the servers are executed properly, and if errors are handled properly (Vibrant Infosystems, n.d.).
- Server interface – It is vital that in the server interface, communication is done correctly between the application server, database server and web-server application server etc., and compatibility of the hardware, software and network connections is compatible.
- External interface – check to make sure that all supported browsers have been tested, and that all errors related to any external interfaces have been tested when any external application is not available or can be accessible by the server.
3. Internal interface – check to make sure the site can be used without plugins, if all failures are handled if there are any errors in download and if the system crashes, are the recovery mechanisms, as well as re-start, reliable and efficient. Can it handle any browser crashes? It is crucial that it is checked that the development team has implemented a good solid and intelligent error handling.
Another effective tool of the V&V process is to use simulation. Simulation is a made computer model (prototype) that gives the appearance of running the real system. The purpose of it is to be used on a day to day basis because it is time based and takes into account all constraints and resources involved (and how it all interacts with time). A good thing about the simulation model is it takes into account randomness that happens in real life, such as when customers come to use the system at odd times. It gives a picture of reality about how the system will truly be used. A big plus and advantage of using a simulation model is that it tests the software with the fraction of the costs because all bugs and errors are caught before the final production of the software is produced. It also can produce new ideas for the final product, so they can be implemented in time (Simul8, n.d.).
Performance testing is another very important step in the V&V process. This type of testing is important because it gives the stakeholders information about their software’s stability, speed and scalability. It tells the stakeholder and developer what needs to be improved before the final software is in production. Without this important step of the V&V process, the software can run slow, poor usability and incompatibility with operating systems (Guru99, n.d.).
Some very important types of performance testing are as follows:
- Stress testing – this means putting applications under extreme stressful workloads. This is to see how it handles fast and large data traffic. This is where you find the breaking point of the application.
- Load testing – this is the way the application is checked for performance under user loads, and if it can handles several users loading it at the same time.
- Scalability testing – this determines the application’s effectiveness in scaling an increased user load, and shows plan capacity addition to the software.
- Endurance testing – this is when the application is tested for how long it can handle a big load over a long time frame.
The purpose of requirements testing is to find out about the absence or presence of errors. The development team does this to test the tolerance of the system, to find any performance errors and interface errors. They will also find if there is any sensitivity in the system and any errors in the database structure. It’s during requirements testing that any initialization and termination errors are found, and if there is any functional validity of the system that will find missing or incorrect functions. Operability of the system is also determined (Khannur, 2013).
References
Chambers.com. (n.d.). Verification & validation . Retrieved from http://www.chambers.com.au/glossary/verification_validation.php
Guru99. (n.d.). Performance testing . Retrieved from http://www.guru99.com/performance-testing.html
Khannur, A. (2013). Purpose of requirements-based testing . Retrieved from http://khannur.com/sst9.2.htm
Parametric Technology Corporation (PT. (2006). Verification and validation . Retrieved from http://www.ptc.com/WCMS/files/43562/en/VV2089_v3.pdf
Simul8. (n.d.). What is simulation software?. Retrieved from http://www.simul8.com/products/what_is_simulation.htm
Vibrant Infosystems. (n.d.). interface testing. Retrieved from http://www.vibrantinfosystems.com/interface-testing.html