Wednesday, July 11, 2007

Set 5 of Interview FAQs

Q: 1 Should I take a course in manual testing?

A: Yes, you want to consider taking a course in manual testing. Why? Because learning how to perform manual testing is an important part of one's education. Unless you have a significant personal reason for not taking a course, you do not want to skip an important part of an academic program.


Q: 2 To learn to use WinRunner, should I sign up for a course at a nearby educational institution?

A: Free, or inexpensive, education is often provided on the job, by an employer, while one is getting paid to do a job that requires the use of WinRunner and many other software testing tools.

In lieu of a job, it is often a good idea to sign up for courses at nearby educational institutes. Classes, especially non-degree courses in community colleges, tend to be inexpensive.


Q: 3 How can I become a good tester? I have little or no money.

A: The cheapest i.e. "free education" is often provided on the job, by an employer, while one is getting paid to do a testing job, where one is able to use many different software testing tools.

Q: 4 What software tools are in demand these days?

A: There is no good answer to this question. The answer to this question can and will change from day to day. What is in demand today, is not necessarily in demand tomorrow.

To give you some recent examples, some of the software tools on end clients' lists of requirements include LabView, LoadRunner, Rational Tools and Winrunner.

But, as a general rule of thumb, there are many-many other items on their lists, depending on the end client, their needs and preferences.

It is worth repeating... the answer to this question can and will change from one day to the next. What is in demand today will not likely be in demand tomorrow.



Q: 5 Which of these tools should I learn?

A: I suggest you learn some of the most popular software tools (e.g. WinRunner, LoadRunner, LabView, and Rational Rose, etc.) with special attention paid to the Rational Toolset and LoadRunner.

Q: 6 What is software configuration management?

A: Software Configuration management (SCM) relates to Configuration Management (CM).

SCM is the control, and the recording of, changes that are made to the software and documentation throughout the software development life cycle (SDLC).

SCM covers the tools and processes used to control, coordinate and track code, requirements, documentation, problems, change requests, designs, tools, compilers, libraries, patches, and changes made to them, and to keep track of who makes the changes.

We, test engineers have experience with a full range of CM tools and concepts, and can easily adapt to an organization's software tool and process needs.



Q: 7 What are some of the software configuration management tools?

A: Software configuration management tools include Rational ClearCase, DOORS, PVCS, CVS; and there are many others. Rational ClearCase is a popular software tool, made by Rational Software, for revision control of source code.

DOORS, or "Dynamic Object Oriented Requirements System", is a requirements version control software tool.

CVS, or "Concurrent Version System", is a popular, open source version control system to keep track of changes in documents associated with software projects. CVS enables several, often distant, developers to work together on the same source code.

PVCS is a document version control tool, a competitor of SCCS. SCCS is an original UNIX program, based on "diff". Diff is a UNIX utility that compares the difference between two text files.

Q: 8 Which of these roles are the best and most popular?

A: In testing, Tester roles tend to be the most popular. The less popular roles include the roles of System Administrator, Test/QA Team Lead, and Test/QA Managers.


Q: 9 What other roles are in testing?

A: Depending on the organization, the following roles are more or less standard on most testing projects: Testers, Test Engineers, Test/QA Team Leads, Test/QA Managers, System Administrators, Database Administrators, Technical Analysts, Test Build Managers, and Test Configuration Managers.

Depending on the project, one person can and often wear more than one hat. For instance, we Test Engineers often wear the hat of Technical Analyst, Test Build Manager and Test Configuration Manager as well.



Q: 10 What's the difference between priority and severity?

A: The simple answer is, "Priority is about scheduling, and severity is about standards."

The complex answer is, "Priority means something is afforded or deserves prior attention; a precedence established by order of importance (or urgency). Severity is the state or quality of being severe; severe implies adherence to rigorous standards or high principles and often suggests harshness; severe is marked by or requires strict adherence to rigorous standards or high principles, e.g. a severe code of behavior."

Q: 11 What's the difference between efficient and effective?

A: "Efficient" means having a high ratio of output to input; working or producing with a minimum of waste. For example, "An efficient test engineer wastes no time", or "An efficient engine saves gas".

"Effective", on the other hand, means producing, or capable of producing, an intended result, or having a striking effect. For example, "For automated testing, WinRunner is more effective than an oscilloscope", or "For rapid long-distance transportation, the jet engine is more effective than a witch's broomstick".



Q: 12 What is the difference between verification and validation?

A: Verification takes place before validation, and not vice versa. Verification evaluates documents, plans, code, requirements, and specifications. Validation, on the other hand, evaluates the product itself.

The inputs of verification are checklists, issues lists, walk-throughs and inspection meetings, reviews and meetings. The input of validation, on the other hand, is the actual testing of an actual product.

The output of verification is a nearly perfect set of documents, plans, specifications, and requirements document. The output of validation, on the other hand, is a nearly perfect, actual product.

Q: 13 What is documentation change management?

A: Documentation change management is part of configuration management (CM). CM covers the tools and processes used to control, coordinate and track code, requirements, documentation, problems, change requests, designs, tools, compilers, libraries, patches, changes made to them and who makes the changes.

Rob Davis has had experience with a full range of CM tools and concepts. Rob Davis can easily adapt to your software tool and process needs.



Q: 14 What is up time?

A: "Up time" is the time period when a system is operational and in service. Up time is the sum of busy time and idle time.

For example, if, out of 168 hours, a system has been busy for 50 hours, idle for 110 hours, and down for 8 hours, then the busy time is 50 hours, idle time is 110 hours, and up time is (110 + 50 =) 160 hours.



Q: 15 What is upwardly compatible software?

A: Upwardly compatible software is compatible with a later or more complex version of itself. For example, an upwardly compatible software is able to handle files created by a later version of itself.

Q: 16 What is upward compression?

A: In software design, upward compression means a form of demodularization, in which a subordinate module is copied into the body of a superior module.


Q: 17 What is usability?

A: Usability means ease of use; the ease with which a user can learn to operate, prepare inputs for, and interpret outputs of a software product.


Q: 18 What is user documentation?

A: User documentation is a document that describes the way a software product or system should be used to obtain the desired results.


Q: 19 What is a user manual?

A: User manual is a document that presents information necessary to employ software or a system to obtain the desired results.

Typically, what is described are system and component capabilities, limitations, options, permitted inputs, expected outputs, error messages, and special instructions.

Q: 20 What is a vertical microinstruction?

A: A vertical microinstruction is a microinstruction that specifies one of a sequence of operations needed to carry out a machine language instruction. Vertical microinstructions are short, 12 to 24 bit instructions. They're called vertical because they are normally listed vertically on a page. These 12 to 24 bit microinstructions instructions are required to carry out a single machine language instruction.

Besides vertical microinstructions, there are horizontal as well as diagonal microinstructions as well.



Q: 21 What is a virtual address?

A: In virtual storage systems, virtual addresses are assigned to auxiliary storage locations. They allow those location to be accessed as though they were part of the main storage.


Q: 22 What is virtual memory?

A: Virtual memory relates to virtual storage. In virtual storage, portions of a user's program and data are placed in auxiliary storage, and the operating system automatically swaps them in and out of main storage as needed.


Q: 23 What is virtual storage?

A: Virtual storage is a storage allocation technique, in which auxiliary storage can be addressed as though it was part of main storage. Portions of a user's program and data are placed in auxiliary storage, and the operating system automatically swaps them in and out of main storage as needed.


Q: 24 What is a waiver?

A: Waivers are authorizations to accept software that has been submitted for inspection, found to depart from specified requirements, but is nevertheless considered suitable for use "as is", or after rework by an approved method.


Q: 25 What is the waterfall model?

A: Waterfall is a model of the software development process in which the concept phase, requirements phase, design phase, implementation phase, test phase, installation phase, and checkout phase are performed in that order, probably with overlap, but with little or no iteration.


Q: 26 What are the phases of the software development process?

A: Software development process consists of the concept phase, requirements phase, design phase, implementation phase, test phase, installation phase, and checkout phase.


Q: 27 What models are used in software development?

A: In software development process the following models are used: waterfall model, incremental development model, rapid prototyping model, and spiral model.

Q: 28 What is SDLC?

A: SDLC is an acronym. It stands for "software development life cycle".


Q: 29 What is the difference between system testing and integration testing?

A: System testing is high level testing, and integration testing is a lower level testing. Integration testing is completed first, not the system testing. In other words, upon completion of integration testing, system testing is started, and not vice versa.

For integration testing, test cases are developed with the express purpose of exercising the interfaces between the components.

For system testing, on the other hand, the complete system is configured in a controlled environment, and test cases are developed to simulate real life scenarios that occur in a simulated real life test environment.

The purpose of integration testing is to ensure distinct components of the application still work in accordance to customer requirements.

The purpose of system testing, on the other hand, is to validate an application's accuracy and completeness in performing the functions as designed, and to test all functions of the system that are required in real life.


0 comments: