In: Computer Science
Please answer questions in 175 words. Recall an information system that you have used regularly, such an online banking system, a payroll system, or an airline reservation system. Imagine you were involved in the beta testing of that system.
1.) We talked about gathering of the requirements, design and now the challenge is what is needed to release the system into production. We need to talk about the next steps after the design. There are different types of testing. I want to organize our thoughts in two parts: Development Testing (Structural, etc.) and Formal Testing (Unit, Functional and User Acceptance Testing). In the traditional methodology, in the formal testing is Installation Qualification, Operational Qualification, and Performance Qualification. My point is that, to release the system, once is designed, the developers will give us the system for final testing. Once the evidence is gathered, we move into the last Phase that is Operational and Maintenance.
When you share your thoughts and expertise, think in all types of testing, however, we need to include the User Acceptance Testing because the business needs to ensure the system will support them because is working as intended.
The last point is, to include something about how we will manage any changes once the system is in production. In other words, Change Control process.
2.) Just want to share some thoughts with you. When we gather the requirements, once we approve them, we need to identify the critical processes and the controls needed in those processes. Hence, for those processes where the transfer of money occurs, we need to think on the type of controls we need to incorporate to ensure the transaction is performed securely. Then we need to test accordingly, meaning, the design needs to be tested, the operational part needs to be tested and the last one, the performance and user acceptance needs to be tested. Enough evidence shall be gathered for decision making and receive the approvals from IT and Quality (in my case). Which other areas needs to be tested? Security? Share your thoughts
For successful Implementation of software, the user going to test this software and this test is called as beta testing.
Step-by-step explanation
Beta testing is a user acceptance testing which is done by the user upon successful implementation of the software. Data for testing is used by the users in the live environment.This testing will be conducted by different user. Developers have no role in this testing. The report is submitted by the end user.
Let us take an example of banking system -
The main purpose of banking system is to transfer money along with security. There will be many test conditions needed to be tested and approved but the main criteria are its purpose. So, as a beta tester I will test the security of transaction, I will try to find the loopholes like any sensitive data is sent directly as payload that can be easily visible for hacker. I will try to test all edge test cases like trying to send money to accounts which doesn't exist, invalid amount that is over and under limits etc.
As a tester I will forward the problem to developer if the system fails a specified criterion, sometimes it may fail after many modifications in code but tester need to test and forward to developer until it passes. The only best thing, a tester can do is send developer the best description on the problem or bug.