Testing tools interview questions for jobs

  1. What kind of testing is needed for the hardware aspect of building a system?  The components of a system are pre-built, but they need to be integrated with each other, existing systems and the software. A mock-up system should be built in a lab environment to test components as they are added.
  2. Who should do the testing?  The engineers building the hardware system should test the components and total system. Software developers should test the application(s) before the system goes live. Users should be the final testers before going live, using a lab prototype. There are companies and contractors (consultants) who can do independent testing. The integration of the software and hardware should be overseen by both engineers and developers.
  3. What kind of software testing should be done when building a system? In order of occurrence, there should be unit testing, regression testing, system testing, load testing integration testing and UAT (user acceptance testing).
  4. What is a lab test system?  This is a complete mockup of the final system, a prototype. It should include connections to the legacy system which can be turned on and off. If there is a database involved, a good-sized ‘snapshot’ of the original database should be loaded. At least one terminal/node should be added for automated scripts and load test scripts. Standard workstation applications should be loaded to test cross-application conflicts. Of course, the application to be added should be installed.
  5. What is unit testing?  As a developer creates a module, that module should be tested to ensure that it works standing alone and being executed (watching for runtime errors). “Stubs” are created for parameters that need to be passed into the module and for any calls outside the module. As another module is added, it should be tested with the first one.
  6. What is regression testing?  Regression testing is the assurance that when a change is made, all previously working systems still function properly. The developer does this as s/he adds pieces to the program. If the application is an update of a previous version, a systems tester will test all the functions that worked in the earlier version as well as the new functions.
  7. What is system testing?  When the application is complete, a systems tester will test it on a full legacy system, to ensure that all functions operate properly, both old and new, and to check to see if any other application is affected, or an outside application can affect the new one. Load testing should occur at this point. One or a few users may work out fine, but if the system is to be used by a great many users at one time, the amount of load on the system should be simulated to see if it will still function properly and with a reasonable throughput.
  8. How and when is user acceptance testing instigated?  User testing can actually be ‘inserted’ at many phases of the development, involving  the users in design as well as the final product. The users know the needs better than anyone else, and should be allowed input whenever feasible. Often, when planning  a project, the proposers of the new system will create a prototype for the sponsor. Users can test the prototype and give their reactions. User involvement encourages the users to ‘buy into’ the proposal; without user acceptance, a new system is a waste of money. On a formal basis, UAT is performed when the developers believe everything is ready to go live. One way to do this is to  write scripts for the users and let them know what they should see. Another way is parallel testing – users use the legacy system as normal, then re-perform the transaction on the new system using a test database. This way the resulting data can be compared for efficiency. However, this is usually not popular with users, since it cuts productivity in half.
  9. How does one know to go from one type of testing to another?  While some testing can be occurring concurrently (such as unit testing and hardware testing), most is done sequentially. If a test fails, that which is tested must be resolved and retested successfully before going on to the next phase.
  10. Can any of this testing be avoided?  Companies under a time crunch may try to skip one or another phase of testing. Developers always have faith that they are writing perfect code. The earlier in the life cycle testing is skipped, the higher the chances that errors will still be caught in later phases. If testing late in the life cycle is skipped, the chances of errors grow exponentially. And when a problem arises, it’s not clear how or why it occurs, and testing has to go back to step one, costing valuable time.

Leave a Reply

Your email address will not be published.