Testing and Integration

Once the software is complete, it will go though rigorous testing before its actual integration.  In this article we will take a look at different types of software testing and also different types of integration. With the diversity of business setting and software development models, it also warrants different types of testing and integration in order to adapt to the developed software.

Testing:

In any endeavor, testing is always important before the actual implementation. SDLC is no different, in fact testing in SDLC is so important these days that developers have to work in testing longer that most stages in SDLC.

Types of Testing:

Testing by developers – Developers will have to test the software themselves extensively. Even though they are also the one who have developed the software, they still have to run it extensively. These are the usual steps developers follow in testing their software:

1. Checking of Syntax – The software is checked as it is. Developers just run software and look for possible errors. A very basic checking to know if there are major functions and errors that will occur.

2. Code inspection – After the execution, developers review their codes to look for possible bugs or errors in coding technique.  Even though it has worked in initial checking, the language has to be checked extensively to predict possible problems in some executions.

3. Desk Checking – In this part of the testing, developers check the code and the software at the same time. Each line of command is tested if the desired output is met. This is done manually as each line is expected to work and one way of making sure it will work is to manually check each line so that developers will know what output the line has created.

4. Walkthrough – After checking the software themselves, its time to present the software to the experts. Not the upper management but possibly experts on the coding language or other developers of this type of software. The developer will present their work to the pool of professionals who will scrutinize their work. It is also important for the developer to present not only the coding technique but also program itself.   Using simple case studies the software will somehow provide answers faster or with a better result.

5. Module Testing – After the walk through, developers will again check the software in terms of individual modules.  Each module will be tested extensively for possible errors.

6. Integration Testing – Once the module has been tested, it is time to test them as being integrated to other modules.

7. System Testing – After the integration, the whole program will again be tested. Case studies will again be applied with integrated software.

Testing by Users – Once the developers have finished their own testing with the help of other professional developers, the software is ready for release to the public or to the intended users.

The stages usually followed are:

Alpha Testing – Developers usually choose the users who will try out the program. For the general public, it is often tested on known users or even technology bloggers who can honestly give their opinion of the software.   It is also the time where developers try to create scenarios for their software such as:

* Recovery – Developers will try recovering the software or the program in case it crashes.

* Security – Like all software, developers have to test the program for possible hacks and virus infections.

* Performance – Use it extensively by getting more than one users to exhaust all possible options and see if the software will hold up to expectations.

Beta Testing – This type of testing is more open to the public. Developers or software companies can accept users sometimes by invitation or openly accepting users. Beta testing will no longer be limited to the data set by developers; instead it will now be tested in a real environment where there is a bigger possibility of hacks, lack of performance or bugs. The main reason the software is given to the public for testing is to open it for possible hacks. If something wrong is found, developers can just go back to the software easily.

{qbapagebreak title=Software Integration}

Software Integration

After the software has been tested extensively, it is ready for integration with business setting.  Although you will not see them in a consumer setting, integration is always a phase in business’ software development. Since new software will foster change in business setting, they have to make sure the changes will be gradual and will be effective.

There are four types of software integration for business setting. Each of them has their own advantages and disadvantages that software developers have to consider to ensure that they are implementing their software rightfully.

1. Direct Installation – A very straightforward approach for a software in relation to business launching. It will replace the old system on a specified day or will be implemented on the appointment day as additional software.

Advantages: Perfect for new software or new businesses. It also has better chances that the installation will be successful since everything will be done in a moment.

Disadvantages: Any errors will have higher than normal impact on developers. If the software is really big, it could take time before the software could be properly installed.  If the software will be replacing the whole system fast and the new software will not work as planned, reverting to old software will be very difficult.

2. Parallel Installation – Installing the new software while the old program is preserved. Thus users will have to use two software at the same time.

Advantage: There is a point of comparison between the software. Developers should be able to compare which is better and effective. Errors will be checked at the same time the operation is not interrupted.

Disadvantage: Duplication of effort resulting to more work for the users. Sometimes because of the difference of interface and functions, there is a chance that users will be confused on what to do.

3. Single Location Installation – Instead of rolling out the software altogether, it will be will be rolled out slowly in a single department or location.

Advantage: Limit the problem to a single department. Developers can focus on a single group before it can be rolled out to other places.

Disadvantage: There is always a different requirement between two departments and location. Hence developers will have a hard time measuring its effect to other departments. Incompatibility between the present and the new software is also a possible issue.

4. Phased Installation – Instead of changing the software in the company with just one roll-out, developers could also release the software in phases. For example, some of the functions will be handled by the new software while the old software will handle other functions.

Advantage: Like single location installation, errors are minimized since only one phase is being rolled out. System design could work with integration since phases is implemented phase by phase.

Disadvantages: Compatibility will always be an issue. Developers may have to create a simple bridge to covert the information from the new to the old. Since phases will have to be implemented slowly, there will always be a challenge of change that could confuse not only the workers but also of the business.

Editorial Team at Geekinterview is a team of HR and Career Advice members led by Chandra Vennapoosa.

Editorial Team – who has written posts on Online Learning.


Pin It