A test plan depicts a document which describes the scope, resources, how activities will be performed, the functionality which will be delivered and the schedule for the testing activities (Munassar & Goverdhan, 2010). Similarly, it establishes the test items, the testing tasks and the persons responsible for each task, the features to be tested and the likely challenges and solutions (Lewis, 2016). This implies that these management are indispensable in any particular system test plan.
The test plan will be structured in the following format as outlined below.
- Testing goals
- Testing process
- Roles and Responsibilities
The scope of the test will fundamentally cover the functional and the non-functional aspects of the complete system. However, the non-functional aspects of the system will be immensely covered relative to the financial aspects. The non-functional requirement depicts those which are needed to have the system correctly functioning and they will include: security, backup, recovery, and concurrency.
There are several chief expectations from this system test. Nevertheless, the most paramount ones include: to ensure satisfactory operation of the system and provide the management with the decision-making support required in planning, controlling and monitoring of the project (Myers, Sandler, & Badgett, 2011).
The data that will be reported include that on the security status, recovery status, backup status and concurrency status of the system. This is because they are the primary test aspects in the system. Essentially, the conclusive testing results will be delivered in form of a printed report and presented to the top management by the testing team leader. This is after a prudent, holistic and comprehensive testing.
The chief types of tests that will be run in this plan include: security testing, backup testing, recovery testing and concurrency testing. Each of these will be handled comprehensively based on the features of each of them (Agarwal, Tayal, & Gupta, 2010).
It is chiefly meant to protect the database from any possible unauthorized access either internally or externally (Hsu & Huang, 2011). Essentially, this testing is aimed at establishing if the information system protects data and keeps the intended functionality. This testing will be seeking to validate six fundamental principles namely: integrity, confidentiality, authorization, authentication, non-repudiation, and availability.
This will seek to verify the capacity to back up the system. It involves the ability to replicate data and files in the system and storing it for future retrieval in case data is lost either by intention or unintentionally (Hsu & Huang, 2011). This will be chief in the plan since it is the aspect that is crucial and central to the system.
It will verify the restoration of the system`s database to a condition known to be accurate following a failure that had rendered it unreliable (Buse & Zimmermann, 2012). It will evaluate the system`s ability to reliably and efficaciously retrieve data or files that may have been lost during its operation.
In this plan, it will seek to ensure that side-by-side processes do not obstruct each other. Such simultaneous processes include updates and queries. Similarly, it will be seeking to detect any defects in the system when multiple users are logged in. This will ensure that the system can properly run simultaneous processes without breaking down.
The testing will require quite a substantial amount of time to ensure it is comprehensive and accurate (McGregor, 2010). Since the system is a huge organization, the most suitable time schedule will be approximately 18 hours. This time frame will cover all the indispensable testing aspects in the system.
There are several central assumptions that have been made on this particular testing. According to (Davis & Venkatesh, 2004), they include the following:
- The indispensable testing tools and the access to the tools is possible and will be offered to the test team
- There will be a workable test environment available for the test team for carrying out the testing
- The provided test environment will be similar to the production environment in both the software and hardware configurations
- The resources for the test team including the roles and responsibilities are accessible and dedicated to the test team
There will be two essential testing which must be conducted prior to this test. These testing include: a system or integration testing and performance testing. The system testing is meant to ensure that all the components of the system are commendably functional and harmonious (Raymond & Bergeron, 2008). On the other hand, performance testing will ensure that hardware and software components of the system are performing well.
For this testing to be considered as fruitful, it has to meet some particular threshold. Essentially, this testing should ensure that the four testing is above par, that is, the system can run for over a year without facing problems about them.
- What to do when the test is successful
The system will be closely monitored, adjusted and perpetually improved periodically.
- What to do when the test fails
The system will be subjected to further development regarding those testing aspects. This will mainly involve the system developers.
- Roles and responsibilities
The hierarchy in the system testing team will involve two levels namely:
- Test manager
- Test engineers
The roles and responsibilities of the test manager are (Schwalbe, 2015):
- Defining the testing tasks and activities for the subordinates, that is, the test engineers or the testers.
- Checking whether the team has all the indispensable resources to carry out the testing activities
- Checking whether the testing is satisfactorily corresponding to the software development in the entire phases
- Prepare the status report testing activities
- Periodically updating the project manager about the progress of the testing activities
The roles and responsibilities of the test engineers are (Schwalbe, 2015):
- Reading all the documents and comprehending what needs to be tested
- Deciding how the testing will be done based on the information in the above step
- Informing the test lead regarding what all the resources will be needed for the system testing
- Develop the necessary test cases and prioritize test activities
- Carry out the entire test case and report any defects
Setting up the appropriate test environment is highly necessary to ensure the success of the system testing. Any flaws in this level can be expensive in terms of additional costs and time (Peppard & Ward, 2016).
The needed hardware equipment
The required hardware in this system testing includes: computers, scanners, handhelds, special printers, network cables and relevant documentation like installation guides, configuration manuals, reference documents and user manuals.
The specific applications needed include: excel, word, operating system, a browser, SPSS, R and a network.
Environmental and system security elements
It is evidently overt that the test environment needs to be secure to ensure that everything in the testing plan goes on in a smooth manner and with minimum, if any, challenges in matters security (Fenton & Bieman, 2014). Nevertheless, before setting up our test environment we will ensure that the test team has comprehensively, thoroughly and adequately understood the test requirements for the system. Some of the main security elements will include:
- Checking for the required hardware and software licenses
- Ascertaining the software versions
- Verifying the hardware and software configurations
- Browser firewalls
The present functionality of the IS System in the organization is quite commendable. However, there need to be some measures to be put in place to polish up the productivity and the effectiveness of the system. As such, the following are the suggested measures:
- The system admin should be facilitated by the organization in nursing that the system runs with minimal interruptions, if any.
- The system should incorporate all the other relevant departments of the organization.
- Regular updates should be done on the system.
- The users of the system in the organization should be adequately trained and inducted its operations
- There should be optimal use of the system’s abilities and features
Agarwal, B., Tayal, P., & Gupta, M. (2010). Software engineering and testing. Jones & Bartlett Learning.
Buse, P., & Zimmermann, T. (2012). Information needs for software development analytics. In Proceedings of the 34th international conference on software engineering. IEEE Press, 987-996.
Davis, D., & Venkatesh, V. (2004). Toward pre-prototype user acceptance testing of new information systems: implications for software project management. IEEE Transactions on Engineering Management, 31-46.
Fenton, N., & Bieman, J. (2014). Software metrics: a rigorous and practical approach. CRC Press.
Hsu, J., & Huang, Y. (2011). An adaptive reliability analysis using path testing for complex component-based software systems. IEEE Transactions on Reliability, 158-170.
Lewis, E. (2016). Software testing and continuous quality improvement. CRC Press.
McGregor, D. (2010). Testing a software product line. In Testing Techniques in Software Engineering. Springer, 104-140.
Munassar, A., & Goverdhan, A. (2010). A comparison between five models of software modeling. IJSCI International Journal of Computer Science Issues, 94-101.
Myers, J., Sandler, C., & Badgett, T. (2011). The art of software testing. John Wiley & economics.
Peppard, J., & Ward, J. (2016). The strategic management of information systems: Building a digital strategy. John Wiley & Sons.
Raymond, L., & Bergeron, F. (2008). Project management information systems: An empirical study of their impact on project managers and project success. International Journal of Project Management, 213-220.
Schwalbe, K. (2015). Information technology project management. Cengage Publishing.