Q1. Why software needs to be tested?
Ans. Every software product needs to be tested since; the development process is unable to produce defect free software. Even if the development process is able to produce defect free software, we will not be able to know unless & until we test it. Without testing it, we shall not be having enough confidence that it will work. Testing not only identifies and reports defect but also measures the quality of the product, which helps to decide whether to release the product, or not. Q2. What is the reason that Software has Bugs?
Ans. Following factors contribute to the presence of bugs in the software applications:- a. Software development tools like visual tools, class libraries, compilers, scripting tools, etc. usually introduce their own bugs in the system. b. To err is human. Likewise programmers do make mistakes while programming c. In fast-changing business environments continuously modified requirements are becoming a fact of life. Such frequent changes requested by the customer leads to errors in the application already nearing completion. Last minute design changes leads to many chaos like redesign of the whole system, rescheduling of engineers, scrapping of the work already completed, fresh requirements of compatible hardware etc d. A quickly written but poorly documented code is bound to have bugs. It becomes difficult to maintain and modify such code that is badly written or poorly documented.- its tough to maintain and modify code that is badly written or poorly documented; the result is bugs. In many organizations management provides no incentive for programmers to document their code or write clear, understandable, maintainable code. In fact, it’s usually the opposite: they get points mostly for quickly turning out code, and there as jobs security if nobody else can understand it (if it was hard to write, it should be hard to read). e. When project deadlines come too close & time pressures come, mistakes are bound to come Q3. What is the difference between QA and Testing?
Ans. QA stands for "Quality Assurance", and focuses on "Prevention" of defects in the product being developed. It is associated with the "Process" and activities related to the Process Improvement. Quality Assurance measures the quality of the processes employed to create a quality product. Whereas "Testing" refers to "Quality Control", and focuses on Detection of Defect and removal thereafter. Or Quality Control measures the quality of a product. Q4. What is the difference between Software Testing and Debugging? Ans. Testing is the process of locating or identifying the errors or bugs in a software system. Whereas Debugging is the process of Fixing the identified Bugs. It involves a process of analyzing and rectifying the syntax errors, logic errors and all other types of errors identified during the process of testing. Q5. What is the difference between a Bug and a Defect?
Ans. "Bug" is a problem or an error in the software code, which is found in the application during Testing. Bug is responsible for failure of the application to comply with the desired specifications. Whereas "Defect" is problem reported by the customer during usage of the software application. Q6. What is the difference between a Bug and an Enhancement? Ans. "Bug" is a problem or an error in the software code, which is found in the application during Testing. Bug is responsible for failure of the application to comply with the desired specifications. Whereas "Enhancement" is the additional feature or functionality found and added to the application as desired by the end user / real word customer or tester during the testing process. Q7. What is the difference between Requirements & Specifications? Ans. "Requirements" are statements given by the customer as to what needs to be achieved by the software system. Later on these requirements are converted into specifications which are nothing but...