IT8076 Software Testing Question Bank
Total Page:16
File Type:pdf, Size:1020Kb
SUBJECT NAME : SOFTWARE TESTING SUBJECT CODE : IT8076 YEAR/SEM : III Year / Sixth Semester DEPARTMENT : INFORMATION TECHNOLOGY AUTHOR : R. LAVANYA, M.E., (Ph.D) DESGINATION : ASSISTANT PROFESSOR 1 REGULATIONS – 2017 SYLLABUS OBJECTIVES: To learn the criteria for test cases. To learn the design of test cases. To understand test management and test automation techniques. To apply test metrics and measurements. UNIT I INTRODUCTION Testing as an Engineering Activity – Testing as a Process – Testing Maturity Model - Testing axioms – Basic definitions – Software Testing Principles – The Tester’s Role in a Software Development Organization – Origins of Defects – Cost of defects – Defect Classes – The Defect Repository and Test Design – Defect Examples – Developer / Tester Support of Developing a Defect Repository . UNIT II TEST CASE DESIGN Test case Design Strategies – Using Black Box Approach to Test Case Design –Boundary Value Analysis – Equivalence Class Partitioning – State based testing – Cause-effect graphing – Compatibility testing – user documentation testing – domain testing – Random Testing – Requirements based testing –Using White Box Approach to Test design – Test Adequacy Criteria – static testing vs. structural testing – code functional testing – Coverage and Control Flow Graphs – Covering Code Logic – Paths – code complexity testing – Additional White Box Testing Approaches - Evaluating Test Adequacy Criteria. UNIT III LEVELS OF TESTING The need for Levels of Testing – Unit Test – Unit Test Planning – Designing the Unit Tests – The Test Harness – Running the Unit tests and Recording results – Integration tests – Designing Integration Tests – Integration Test Planning – Scenario testing – Defect bash elimination System Testing – Acceptance testing – Performance testing – Regression Testing – Internationalization testing – Ad-hoc testing – Alpha, Beta Tests – Testing OO systems – Usability and Accessibility testing – Configuration testing – Compatibility testing – Testing the documentation – Website testing. UNIT IV TEST AMANAGEMENT People and organizational issues in testing – Organization structures for testing teams – testing services – Test Planning – Test Plan Components – Test Plan Attachments – Locating Test Items – test management – test process – Reporting Test Results –Introducing the test specialist – Skills needed by a test specialist – Building a Testing Group – The structure of Testing Group – The Technical Training Program. UNIT V TEST AUTOMATION Software test automation – skill needed for automation – scope of automation – design and architecture for automation – requirements for a test tool – challenges in automation – Test metrics and measurements – project, progress and productivity metrics. 2 Unit – I INTRODUCTION Part – A 1. Define process.(Nov/Dec 2013) Process, in the software engineering domain, is the set of methods, practices, standards, documents, activities, policies, and procedures that software engineers use to develop and maintain a software system and its associated artifacts, such as project and test plans, design documents, code, and manuals. 2. Differentiate verification and validation. Validation is the process of evaluating a software system or component during, or at the end of, the development cycle in order to determine whether it satisfies specified requirements Validation is usually associated with traditional execution-based testing, that is, exercising the code with test cases. Verification is the process of evaluating a software system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. 3. Define testing and debugging. (May/June 2013), (May/June 2014) Testing is generally described as a group of procedures carried out to evaluate some aspect of a piece of software. Testing can be described as a process used for revealing defects in software, and for establishing that the software has attained a specified degree of quality with respect to selected attributes. Debugging, or fault localization is the process of (1) locating the fault or defect, (2) repairing the code, and (3) retesting the code. 4. List the benefits of test process improvement. smarter testers higher quality software the ability to meet budget and scheduling goals improved planning the ability to meet quantifiable testing goals 5. Define Maturity goals. The maturity goals identify testing improvement goals that must be addressed in order to achieve maturity at that level. To be placed at a level, an organization must satisfy the maturity goals at that level. 6. Define Activities, tasks and responsibilities (ATR). The ATRs address implementation and organizational adaptation issues at each TMM level. Supporting activities and tasks are identified, and responsibilities are assigned to appropriate groups. 7. List the three critical views (CV) . Definition of their roles is essential in developing a maturity framework. The manager’s view involves commitment and ability to perform activities and tasks related to improving testing capability. The developer/tester’s view encompasses the technical activities and tasks that, when applied, constitute quality testing practices. The user’s or client’s view is defined as a cooperating, or supporting, view. 8. What are the levels of TMM?(Apr/May 2018) Level 1: Initial Level 2: Phase Definition Level 3: Integration Level 4: Management and Measurement Level 5: Optimization/Defect Prevention and Quality Control 9. Define Errors, Faults (Defects) and Failures. .(Nov/Dec 2013), (May/June 2014), (Nov/Dec – 2016), (Apr/May 2019) An error is a mistake, misconception, or misunderstanding on the part of a software developer. A fault (defect) is introduced into the software as the result of an error. It is an anomaly in the software that may cause it to behave incorrectly, and not according to its specification. 3 Faults or defects are sometimes called “bugs.” A failure is the inability of a software system or component to perform its required functions within specified performance requirements 10. How will the fault manifest itself as a failure? 1. The input to the software must cause the faulty statement to be executed. 2. The faulty statement must produce a different result than the correct statement. This event produces an incorrect internal state for the software. 3. The incorrect internal state must propagate to the output, so that the result of the fault is observable. 11. What are the contents of a test case? A test case in a practical sense is a test-related item which contains the following information: 1. A set of test inputs. These are data items received from an external source by the code under test. The external source can be hardware, software, or human. 2. Execution conditions. These are conditions required for running the test, for example, a certain state of a database, or a configuration of a hardware device. 3. Expected outputs. These are the specified results to be produced by the code under test. 12. Define Test, Test Oracle and Test Bed. (May/June 2013), (Apr/May 2018) A test is a group of related test cases, or a group of related test cases and test procedures (steps needed to carry out a test, A test oracle is a document, or piece of software that allows testers to determine whether a test has been passed or failed. A test bed is an environment that contains all the hardware and software needed to test a software component or a software system. 13. Define Software Quality. Two concise definitions for quality are found in the IEEE Standard Glossary of Software Engineering Terminology: 1. Quality relates to the degree to which a system, system component, or process meets specified requirements. 2. Quality relates to the degree to which a system, system component, or process meets customer or user needs, or expectations. 14. Define metric and quality metric. A metric is a quantitative measure of the degree to which a system, system component, or process possesses a given attribute A quality metric is a quantitative measurement of the degree to which an item possesses a given quality attribute 15. What are the Quality Attributes? Correctness reliability usability integrity portability maintainability interoperability 16. Define Software Quality Assurance Group. The software quality assurance (SQA) group is a team of people with the necessary training and skills to ensure that all necessary actions are taken during the development process so hat the resulting software conforms to established technical requirements. 17. What are Defect sources? (April/May 2017), (Nov/Dec 2019) Lack of Education Poor communication Oversight 4 Transcription Immature process 18. What are the Design Defect Classes? Algorithmic and processing Module interface description Control, logic, and sequence External interface description Data 19. What are the Coding Defect Classes? Algorithmic and processing Module interface Control, logic, and sequence Code documentation Typographical data flow External hardware, Data Software 20. What is Defect Repository? Defect classes Severity Occurrences 21. What is a test case? A test case is a document, which has a set of test data, preconditions, expected results and post conditions, developed for a particular test scenario in order to verify compliance against a specific requirement. Test Case acts as the starting point for the test execution, and after applying a set of input values, the application has a definitive outcome and