JustAnswer.com

Thursday, February 22, 2007

testings interview question and answers part-4

Q: Give me five solutions to problems that occur during software development .

A: Solid requirements, realistic schedules, adequate testing, firm
requirements and good communication. 1. Ensure the requirements are solid, clear, complete, detailed,
cohesive, attainable and testable. All players should agree to requirements. Use prototypes to help nail down requirements. 2. Have schedules that are realistic. Allow
adequate time for planning, design, testing, bug fixing, re-testing, changes and documentation. Personnel should be able to complete the project without burning out. 3. Do testing that
is adequate. Start testing early on, re-test after fixes or changes, and plan for sufficient time for both testing and bug fixing. 4. Avoid new
features. Stick to initial requirements as much as possible. Be prepared to defend design against changes and additions, once development has begun and be prepared to explain consequences. If changes are necessary, ensure they're adequately reflected in related schedule changes. Use prototypes early on so customers' expectations are clarified and customers can see what to expect; this will minimize changes later on. 5. Communicate. Require walk-throughs and inspections when appropriate; make extensive use of e-mail, networked bug-tracking tools, tools of change management. Ensure documentation is available and up-to-date. Use documentation that is electronic, not paper. Promote teamwork and cooperation.

Q: Do automated testing tools make testing easier?

A: Yes and no. For larger
projects, or ongoing long-term projects, they can be valuable. But for small projects, the time needed to learn and implement them is usually not worthwhile. A common type of automated tool is the record/playback type. For example, a test engineer clicks through all combinations of menu choices, dialog box choices, buttons, etc. in a GUI and has an automated testing tool record and log the results. The recording is typically in the form of text, based on a scripting language that the testing tool can interpret. If a change is made (e.g. new buttons are added, or some underlying code in the application is changed), the application is then re-tested by just playing back the recorded actions and compared to the logged results in order to check effects of the change. One problem with such tools is that if there are continual changes to the product being tested, the recordings have to be changed so often that it becomes a very time-consuming task to continuously update the scripts. Another problem with such tools is the interpretation of the results (screens, data, logs, etc.) that can be a time-consuming task.

testings interview question and answers part-3

Q: How do You Introduce a New Software QA Process?

A: It depends on the size of the organization and the risks involved. For large organizations with high-risk projects, a serious management buy-in is required and a formalized QA process is necessary. For medium size organizations with lower risk projects, management and organizational buy-in and a slower, step-by-step process is required. Generally speaking, QA processes should be balanced with productivity, in order to keep any bureaucracy from getting out of hand. For smaller groups or projects, an ad-hoc process is more appropriate. A lot depends on team leads and managers, feedback to developers and good communication is essential among customers, managers, developers, test engineers and testers. Regardless the size of the company, the greatest value for effort is in managing requirement processes, where the goal is requirements that are clear, complete and testable.

Q: Give me five common problems that occur during software development .

A: Poorly written requirements, unrealistic schedules, inadequate testing, adding new features after development is underway and poor communication. 1. Requirements are
poorly written when requirements are unclear, incomplete, too general, or not testable; therefore there will be problems. 2. The
schedule is unrealistic if too much work is crammed in too little time. 3. Software
testing is inadequate if none knows whether or not the software is any good until customers complain or the system crashes. 4. It's extremely common that
new features are added after development is underway. 5. Miscommunication either means the developers don't know what is needed, or customers have unrealistic expectations and therefore problems are guaranteed.