93-54 software quality and testing

20
Q1. What is software testing? Explain the purpose of testing. Why do we need to test the application ? Ans-Software testing is a critical element of software quality assurance and represents the ultimate process to ensure the correctness of the product. The purpose of testing is to show that a program performs its intended functions correctly. (1) Demonstration-Oriented (To show that the software works) :- It test all functions that are used to run the software which produces results. These functions are directly related to the business functions. Here, all paths of the software system are not tested. (2)Destruction-Oriented (To Show that the software doesn’t work):- Here all functions including non-business functions are tested to discover the possibleerrors. Even non- routine functions are also tested. Exceptions are also tested. (3) Evaluation- Oriented (To minimize the risk of not working up to an acceptable level):- Some times the entire software will not be tested due to many reasons like inadequate time. Theacceptable level is a mutually agreed terms between the customer and the developer. Defects can exist in the software, as it is developed by human beings who can make mistakes duringthe development of software. However, it is the primary duty of a software vendor to ensure that software delivered does not have defects and the customers day-to-day operations do not get affected. That’s why we need to test the application. Q2. Quality and reliability are related concepts, but are functionally different in a number of ways Discuss them. Ans. Quality and reliability are related concept but are functionally different in a number of ways:- i). Quality is defined as a characteristic or attribute of something. Quality refers to measurable characteristic- things, which we are able to compare to known standards such as length, color, electrical properties. ii).Whereas reliability is measured directed and estimated using historical and developmentdata. Software reliability is defined in statical terms as “Probability of failure free operation of a computer program in a specified time”. Q3. Explain the difference between code walk - through and inspection.

Upload: mukesh-kumar

Post on 28-Nov-2014

225 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 93-54 Software Quality and Testing

Q1. What is software testing? Explain the purpose of testing. Why do we need to test the application ?Ans-Software testing is a critical element of software quality assurance and represents the ultimate process to ensure the correctness of the product. The purpose of testing is to show that a program performs its intended functions correctly.(1) Demonstration-Oriented (To show that the software works) :- It test all functions that are used to run the software which produces results. These functions are directly related to the business functions.Here, all paths of the software system are not tested.(2)Destruction-Oriented (To Show that the software doesn’t work):- Here all functions including non-business functions are tested to discover the possibleerrors. Even non-routine functions are also tested. Exceptions are also tested.(3) Evaluation- Oriented (To minimize the risk of not working up to an acceptable level):- Some times the entire software will not be tested due to many reasons like inadequate time. Theacceptable level is a mutually agreed terms between the customer and the developer. Defects can exist in the software, as it is developed by human beings who can make mistakes duringthe development of software.However, it is the primary duty of a software vendor to ensure that software delivered does not have defects and the customers day-to-day operations do not get affected. That’s why we need to test the application.

Q2. Quality and reliability are related concepts, but are functionallydifferent in a number of ways Discuss them. Ans. Quality and reliability are related concept but are functionally different in a number of ways:- i). Quality is defined as a characteristic or attribute of something. Quality refers to measurable characteristic-things, which we are able to compare to known standards such as length, color, electrical properties.

ii).Whereas reliability is measured directed and estimated using historical and developmentdata. Software reliability is defined in statical terms as “Probability of failure free operation of a computer program in a specified time”.

Q3. Explain the difference between code walk - through and inspection. In code incpection:Ans :-1. The programmer is requested to narrate, statement by statement, the logic of theprogram.During the discourse, questions are raised and pursued to determine if errors exist2. The program is analyzed with respect to a checklist of historically common programming errors (such a checklist is discussed in the next section).In walk through:It is a set of procedures and error-detection techniques for group code reading.1.The test case must be simple and few in number, because people execute programs at a rate that is very slow compared to machines.2.Many errors are found during the process of questioning the programmer than are found directly by the test cases themselves.

Q4. Compare and contrast the concept of verification and validation. Give example for each.Ans :- Verification: is a set of activities that ensure that the s/w correctly implements a specified function.Validation: a set of activities that ensure that has been built, traceable to the customer requirement.

Q5. What are the different techniques available to conductblack box testing? Discuss them brieflyAns : There are four techniques available to conduct black box testing are as follows:-A) Equivalence PartitioningThe main objective of this method is to partitioning the input so that anoptimal input data is selected.Steps to be followed are: 1. Divide the input domain into classes of data for which test cases can be generated.2. Attempting to uncover classes of errors, if any.

Page 2: 93-54 Software Quality and Testing

3. Identify the both right and wrong input data while partitioning the data.4. Test the program for all types of data based on equivalence classes for input conditions.

B) Boundary Value AnalysisIt is observed that boundary points for any inputs are not tested properly.This leads to many errors. Large numbers of errors tend to occur at boundariesof the input domain. Boundary Value Analysis (BVA) leads to selection of test cases that exercise boundary values.BVA complements equivalence partitioning i.e. select any elementin an equivalence class, select those at the ‘’edge’ of the class.Examples: 1. For a range of values bounded by a and b, test (a-1), a, (a+1), (b-1), b, (b+1).Consider If a = 1 and b = 999 then the boundary values would be 0,1,2,999,1000 etc.

C) Cause Effect Graphing Techniques-Cause-effect graphing attempts to provide a concise representation of logical combinations and corresponding actions.1. Causes (input conditions) and effects (actions) are listed for a module and an identifier is assigned to each.2. A cause-effect graph developed.3. Graph converted to a decision table.4. Decision table rules are converted to test cases

D) Comparison Testing It test eachversion with same test data to ensure all provisional identical output. Run all versions in parallel with areal-time comparison of results. Even if it run only one version in the final system, for some critical applications can develop independent versions and use comparison testing or back-to-back testing.

Q6) What are the objectives and benefits of testing?

explain the test information flow in a typical software life cycle.Ans :- The objective of testing is to design tests that systematically uncoverdifferent classes of errors and do so with a minimum amount of time and effort. Benefits of testing is that the testing demonstrates that softwarefunctions appear to be working according to specification. Data collected during testing provides a good indication of software reliability and some indicationof software quality. Errors Testsoftware configuration result Correction Error RateData

Test Confguration Expected Predicted Result RelibilityQ7). With regard to the software development, discuss the following:AnsQuality of design:- Quality of design refers to the characteristics that designers specify for an item. The grade of materials,tolerance, and performance specifications all contribute to quality of design.Quality of conformance:- Quality of conformance is the degree to which the design specifications are followed duringmanufacturing. Again, the greater the degree of conformance, the higher the level of quality of conformance.It is an issue focussed primarily on implementation.Quality control:- QC is the series of inspections, reviews, and tests used throughout the development life cycle to ensure that each work product meets the requirements placed upon it. QC includes a feedback loop to theprocess that created the work product.Quality assurance:- QA consists of the editing and reporting functions of

Testing

Debug

Relibiltiy Model

Evalution

Page 3: 93-54 Software Quality and Testing

management. The goal of quality assurance is to provide management with the data necessary to be informed about product quality, thereby gaining insight and confidence that product quality is meeting its goals.

Q8) Explain the review techniques adopted in software quality assurance.Ans : There are many different types of reviews that can be conducted as part of software-engineering for SQA like:1. An informal meeting if technical problems are discussed.2. A formal presentation of software design to an audience of customers, management, and technical staff is a form of review.3. A formal technical review is the most effective filter from a quality assurance standpoint. Conducted by software engineers for software engineers, the FTR is an effective means for improving software quality. Any review is a way of using the diversity of a group of people to:1. Point out needed improvements in the product of a single person or a team;2. Confirm that parts of a product in which improvement is either not desired, or not needed.3. Achieve technical work of more uniform, or at least more predictable quality that can be achievedwithout reviews, in order to make technical work more manageable.

Q9)Enlist the 20 requirements that must be present for an effective quality assurance system, as specified by ISO 9001 standard. Ans :- The ISO 9001 standard is the quality assurance standard that applies to software enginireeing.The 20 requriments given by ISO 9001 address the following topics:-1) Management responsibility(2)Quality system(3)Contract review(4)Design control (5)Document &Data control(6)Purchasing(7)Control of customer sullied product(8)Product Identificaction and Traceability(9)Process Control(10)Insepection and testing(11)Control of inspection,measuring

and test equipment(12)Inspection and test status(13)Control of non conforming product(14)Corrective and preventive action(15)handling,storage,packaging,prevention and delivery(16)Control of quality records(17)Internal Quality audits(18)Training(19)Servicing(20)Statistical techniques

Q10)Explain the need for inspection and list the different types of code reviews. Ans :- Inspections involve the reading or visual inspection of a program by a team of people. Normally it is done through meeting and it is typically known as “meeting of the minds”, a conference held by the participants.The objective of the meeting is to find errors, but not to find solutions to the errors (i.e. to test but not to debug).

Q11) What is basis path testing? Explain how this is accomplished? Ans :- It is a white box method to test

the software using the flow diagrams of all the executable paths. The main aim is to derive the logical complexity of the procedural design of software and use this as a guide for defining a basic set of execution paths. It can be also be accomplished by Cyclometic complexity which gives a quantitative measure of the logical complexity. This value gives the number of independent paths in the basis set, and an upper bound for the number of tests to ensure that each statement is executed at least once.

Cyclomatic Complexity of 4 can be calculated as:1. Number of regions of flow graph, which is 4.2. #Edges - #Nodes + 2, which is 11-9+2=4.3. #Predicate Nodes + 1, which is 3+1=4.It can also be accomplished by:- Flow Graph Notation Deriving Test Cases Graph Matrices

Page 4: 93-54 Software Quality and Testing

Q12) Explain different methods available in white box testing, with examplesQ13) ) Discuss how static program analysis is performed so as to identify errors without executing the program. Ans :- Static program analysis helps in identifying errors without executing the program. Peer reviewers and programmerswill use this strategy to uncover probable static errors.There are various method to detect errors which are as follows:- Program Inspections, Mathematical Program Verification, Static Program Analyzers. I will discussed on Static Program Analyzers It scan the source code to try to detect errors. The code does not need to beexecuted. It uses most useful for languages which do not have strong typing. It can check:1. Syntax.2. Unreachable code3. Unconditional branches into loops4. Undeclared variables 5. Uninitialised variables6. Parameter type mismatches7. Uncalled functions and procedures 8. Variables used before initialization 9. Non-usage of function results10.Possible array bound errors 11. Misuse of pointersQ14)What are the guidelines to be followed which help in creating a series of generic tests for GUIS.Ans :-The guidelines to be followed which help in creating a series of generic tests for GVIS are categorized into different kind of operations which are as given bellow:-For windows: (1)Will the window open properly based on related typed or menu-based commands?(2)Are all functions that relate to the window available when needed?(3)Are all functions that relate to the window operational?(4) Is the active window properly highlighted?(5) Does the window properly close?For pull-down menus and mouse operations:-(1) Is the appropriate menu bar displayed in the appropriate context?(2) Do pull-down operations work properly?(3) Are all menu functions properly addressable by the mouse?(4) Are text typeface, size, and format correct?(5) Does each menu function perform as advertised?

For Data entry:- (1)Is alphanumeric data entry properly echoed and input to the system? (2) Is invalid data properly recognized?(3) Are data input messages intelligible?(4) Does the help buttons are available during data entry?

Q15)Briefly discuss the issues to be addressed if a successful software strategy is to be implementedAns:- The issues to be address for successful software strategy which to be implemented are as:1)Specify the product requirements in a quantifiable manner long before testing commences.Although the overriding objective of testing is to find errors good testing strategy also assessesother quality characteristics such as portability, maintainability, usability.2) State testing objectives explicitly.The specific objectives of testing should be stated in measurable terms for example, testeffectiveness, test coverage, meantime to failure etc.3) Understand the users of the software and develop a profile for each user category.Use cases, which describe interaction scenario for each class of user can reduce overall testingeffort by focussing testing on actual use of the product.4)Develop a testing plan that emphasizes “rapid cycle testing”.The feedback generated from the rapid cycle tests can be used to control quality levels andcorresponding test strategies.5) Build “robust” software that is designed to test itself.6)Use effective formal technical reviews as a filter prior to testing.7)Conduct formal technical reviews to assess the test strategy and test cases themselves.This saves time and improves product quality.8) Develop a continuous improvement approach for the testing process.The test strategy should be measured. The metrics collected during testing should be used aspart of a statistical process control approach for software testing.

Page 5: 93-54 Software Quality and Testing

Q16)Explain unit test method with the help of an example.Ans :- It is white box oriented testing,it concentrates on functional verification of a module.It uses procedural design description as a guide,the important control paths are tested to find out the errors within the boundary of the module.The functional verification can be done in parallelfor multiple modules.The steps which are involved in unit testing are:-1)Interface(2)Local data structure(3)Boundary conduction(4)Independent paths(5)Error handling paths For example, a small program thatcomputes a simple matrix multiplication is a unit. In a business applications of inventory control,placing a purchase order also a typical unit or module. not enter and exit properly, all other tests are doubtful.

Interfaces Local data structures Boundary condition Independent path Error handling path Result

Q17)With a neat functional schematic, explain the debugging process employed in soft ware testing.Ans:-

Q18. Write short notes on the followingHurdles in Software testingIn testing there are so many hurdles which is to be faced Some of the hurdles normally encounters are:l )Usually late activity in the project life cycle2)No “concrete” output and therefore difficult to measure the value addition3)Lack of historical data4) Recognition of importance is relatively less5)Politically damaging as you are challenging the developer6)Delivery commitments7)Too much optimistic that the software always works correctly

Q48.Why debugging is difficult.Ans :-There are some clues for difficult in debugging process which are as follows:-2. The symptom may disappear (temporarily) when another error is corrected.3. The symptom may actually be caused by no errors (e.g. round-off inaccuracies).4. The symptom may be caused by human error that is not easily traced.5. The symptom may be a result of timing problems, rather than processing problems.Automated testing tools and give examples for automated testing tools which help the programmer.Automation of testing is the state of the art technique where in number of tools will help in testingprogram automatically.It is a method to execute series of test cases automatically during the tests using testing tools. Some of the tools which help the programmer are:1. Static analyzer2. Code Auditors3. Assertion processors4.Test file generators5.Test Data Generators6. Test Verifiers7.Output comparators

Execution of Cases

Results

Test Cases

Additional

Suspected

causesDebugging

Regression Tests

Corrections

Identified Causes

Driver

Module to be

stubstub

Test case

Page 6: 93-54 Software Quality and Testing

Q49.Alpha and beta testing Ans : These are the tests which are conducted to find out errors customer side.Alpha Testing: The alpha test is conducted at the developer’s site by a customer software is used in a natural settingwith the developer “Looking over the shoulder” of the user and recording errors andusage problems.Alpha tests are conducted in a controlled environment.Beta testing:The beta test is conducted at one or more customer sites by the end user(s) of the software.Unlike alpha testing the developer is generally not present therefore the beta test is a “live”application of the software in an environment. The customer records all problems(real/imagined) that are encountered during beta testing and reportsthese to the developer at regular intervals.

Q19.What do you mean by configuration / platform testing and what system functionality it has to ensure?Ans :- The system has to be tested in all platforms in which the system will be ultimately used.This is a mandatory testing for all application before deployment It is to ensure the system functionality across such as Different Hardware/ Software configurations, Multiple versions of Operating Systems, Different versions of browsers, Various plug-ins or external components Different local conditions.

Q20) What is the process involved in inspection and walk troughs?Ans :- The process is performed by a group of people (three or four), only one of whom is the author of theProgram .Inspection and walkthroughs are far more effective compare to desk checking because people other than the program’s author are involved in the process. These processes also appear to result in lower debugging (error correction) costs, since, when they find an error, the precise nature of the error is usually located.

Q21)What are the testing fundamentals? Explain briefly

Ans :-Any software program that is to be quality conscious, must be rigorously tested with a predefined set of objectives.The fundamentals are: Testing Objectives:-The objective is to design tests that systematically uncover different classes of errors and do so with a minimum amount of time and effort .Test Information FlowTest Case Design

Q22) Explain the different error checklist for inspections. Ans : The different error checklist for inspection are as follows:-Checklist for Data-Reference Errors:Is a variable referenced whose value is unset or uninitialized? This is probably the most frequentprogramming error; it occurs in a wide variety of circumstances.2. For all array references, is each subscript value within the defined bounds of the corresponding dimension? Check for dangling reference problem?Checklist for Data-Declaration Error:Is each variable assigned the correct length, type, and storage class?Is the initialization of a variable consistent with its storage type?Where a variable is initialized in a declarative statement, is it properly initialized?Checklist for Computation Errors:Are there any computations using variables having inconsistent (e.g. No arithmetic) data types?Are there any mixed mode computations? Is it possible for the divisor in a division operation to be zero?. Where applicable, can the value of a variable go outside its meaningful range?Checklist Comparison Errors: Are there any comparisons between variables having inconsistent data types (e.g. comparing acharacter string to an address)?Checklist for Control-Flow Errors: Will every loop, function or program module eventually terminate? Devise an informal proof or argument showing that each loop will terminate.

Page 7: 93-54 Software Quality and Testing

Checklist for Interface Errors: Do the attributes (e.g. type and size) of each parameter match the attributes of each corresponding argument? Prepare a checklist to be followed while inspection.

Q23.Explain integration testing? Explain any one method to carry out integration testing.Ans :- Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing. one of the incremental method is follows:-Bottom -Up Integration - In this Modules are integrated from the bottom to top . A bottom-up integration strategy may be implemented with the following steps:1. Low-level modules are combined into clusters that perform a specific software sub function.2. A driver is written to coordinate test case input and output.3. The cluster is tested.4. Drivers are removed and clusters are combined moving upward in the program structure.

Q24.What are software reviews. Ans :- Software reviews are a “filter “for the software engineering process. Reviews are applied at various points during software development and serve to uncover errors that can then be removed.

Q25. Write the difference between topdown testing and bottom up testing. Ans :- Top-down testing: To test the application, through the white box method, starting with the main program and going down unit by unit. It involves creation of stubs if a lower level unit is not ready. Bottom up testing: To test the application, by white box method, starting with the lower level units and going up unit by unit. It involves creation of drivers when a higher-level unit is not ready.

Q26.What is the main aim of basis path testing

Ans :- The main aim is to derive the logical complexity of the procedural design of software anduse this as a guide for defining a basic set of execution paths.

Q27. How the conditions testing is defined. Ans :- It can defined as:Relational expression: (E1 op E2), where E1 and E2 are arithmetic expressions. For example,(x+y) – (s/t), where x, y, s and t are variables.lSimple condition: Boolean variable or relational expression, possibly proceeded by a NOToperator.Compound condition: composed of two or more simple conditions, Boolean operators andparentheses along with relational operators.Boolean expression: Condition without relational expressions.

Q28.In loop testing how the loops are defined Loops are fundamental to many algorithms. Loops can be categorized as, define loops as simple, concatenated, nested, and unstructured.

Q29.What is the need for GUI testingAns :- The need for GUI testing are:-a)GUI is mandatory for any application as users are used it. Sometime, the user interface may be created as a different layer and easily separated from the traditional functional or business layer. b) The design & development of user interface layer requires separate design & development methodology.Q30.Explain briefly the localization testingAns :- All systems need not be interfaced or mapped on to English language. The system has to be developed both in English and customized to local language. It is to ensure the s/w that localization does not affect the software functionality.What happens if a software program is not tested before deployment.

Page 8: 93-54 Software Quality and Testing

Q31.Explain software reliability and how the reliability and availability are measured.Ans: Software reliability is defined in statistical terms as “Probability offailure free operation of a computer program in a specified environment for a specified time” to illustrate,program x is estimated to have reliability of 0.96 over 8 elapsed processingMeasures of Reliability and Availability:- reliability is mean time between failure (MTBF),whereMTBF = MTTF+MTTRThe acronym MTTF and MTTR are Mean Time To Failure and Mean Time To Repair, respectively.In addition to reliability measure, we must develop a measure of availability. Software availability isthe probability that a program is operating according to requirements at a given point in time and is definedas: Availability = MTTF / (MTTF+MTTR) x100%The MTBF reliability measure is equally sensitive to MTTF and MTTR. The availability measure issomewhat more sensitive to MTTR an indirect measure of the maintainability of the software.

Q32.During code inspection what are the two main activities occur and whatare its benefits. During inspection session, two main activities are:-Ans :- 1. The programmer is requested to narrate, statement by statement, the logic of the program.During the discourse, questions are raised and pursued to determine if errors exist. Experiencehas shown that many of the errors discovered are actually found by the programmer, rather thanthe other team members, during the narration. In other words, the simple act of reading aloudone’s program to an audience seems to be a remarkably effective error-detection technique.

2. The program is analyzed with respect to a checklist of historically common programming errors(such a checklist is discussed in the next section).The main benefits of this method are:1) Identifying early, errors in the program,2)The programmers usually receive feedback concerning his or her programming style and choiceof algorithms and programming techniques.3) Other participants are also gain in similar way by being exposed to another programmer’s errorsand programming style.4)The inspection process is a way of identifying early the most error-prone sections of the program,thus allowing one to focus more attention on these sections during the computer based testing processes.

Q33.Explain boundary value analysis with an example. Why it is important during testing. Ans :-It is a testing technique meant for testing the boundaries of the input domain for errors.It is a compliment of equivalence partitioning method.It is a test case design techniquein which the test cases are selected at the “edges” of the class.BVA derives the test cases from the output domain. Examples: For a range of values bounded by a and b, test (a-1), a, (a+1), (b-1), b, (b+1).Consider If a = 1 and b = 999 then the boundary values would be 0,1,2,999,1000 etc. It is important during testing because BVA helps in testing the programs and covers most of the conditions.This method does not test the combinations of input conditions.

Q34.How do you test a document in phase? What are the guidelines to be followed?Ans :-We test the document in two phases: The first phase, formal technical review, examines the document for editorial clarity. The second phase examines live test and users the documentation in conjunction with the

Page 9: 93-54 Software Quality and Testing

use of the actual program. The guidelines to be followed are as:-(1)Is the description of each interaction sequence accurate?(2)Are examples accurate and context based? (3)Is it relatively easy to locate guidance within the documentation?(4)Can troubleshooting be accomplished easily with the documentation?(5)Are the document tables of contents and index accurate and complete?

Q35.Explain with example the system testing and its complexities.Ans :- System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. System testing proceeds with the following steps: function testing, performance testing, acceptance testing, and installation testing.The types of system tests that are Recovery Testing, Security Testing, Stress testing, Performance Testing The complexties face during testing is “finger pointing”. This occurs when an error is uncovered, andeach system element developer blames the other for the problem.

Q36.Cyclomatic complexity:- The cyclomatic complexity gives a quantitative measure of the logical complexity. Ans :- This value gives thenumber of independent paths in the basis set, and an upper bound for the number of tests to ensure that each statement is executed at least once.

Q37.What is regression testing? Explain in brief.Ans :- Regression testing is the activity that helps to ensure that changes do not introduce unintended behavioror additional errors. The regression test suite contains three different classes of test cases.1. A representative sample of tests that will exercise all software functions.2. Additional tests that focus on software functions that are likely to be affected by the change.3. Tests that focus on software components that have been changed.Q38.What are the steps involved for test case design.

Ans :- The steps involved for test case design are:-1. Using the design or code, draw the corresponding flow graph.2. Determine the cyclomatic complexity of the flow graph.3. Determine a basis set of independent paths.4. Prepare test cases that will force execution of each path in the basis set.

Q39.What are the main objectives of Formal technical reviews (FRI).Ans :- The main objectives of the FTR are:1)To verify that software under review meets its requirements2)To ensure that software has been represented according to predefined standards3)To achieve software that is developed in an uniform manner4)To make projects more manageableSmoke testing: Smoke testing mainly ensures that all functions work correctly on a new softwarebefore being subjected to rigorous testing.This is a pre-qualification testLocalization testing: testing is to ensure the software that localization does not affect the softwarefunctionality. It ensures the appropriateness of linguistic locale changes. Explain defect amplification model.A defect amplification model can be used to illustrate the generation and detection of errors duringpreliminary design, detail design, and coding steps of the software engineering process.Errors from previous Step DEFECTS DETECTION

Errors passed to

next step

The errors may inadvertently generate during these steps and review may fail to uncover newly generated

Error passed through Precent efficiency for

Amplified error 1: x error detection

Newly generatedError

Page 10: 93-54 Software Quality and Testing

errors from previous steps, resulting in some number of errors that are passed through. The box subdivisions represent each of these characteristics and the percent efficiency for detecting errors, a function of the thoroughness of review. To conduct reviews a developer must expend time and effort and the development organization must spend money. However, the results of the presiding example leave little doubt that we have encountered “Pay now or pay much more later” syndrome.Q40.Explain equivalence partitioning with example. List the prons and cons of each methodAns :- In equivalence partitioning the input domain of a program is taken and it is divided into classes of data from which test cases can be derived .Test case design for equivalent partitioning is based on the evaluation of equivalence classes for input condition.The steps involve in partitioning the input the data are as follows: 1. Divide the input domain into classes of data for which test cases can be generated.2. Attempting to uncover classes of errors, if any.3. Identify the both right and wrong input data while partitioning the data.4. Test the program for all types of data based on equivalence classes for input conditions.Example: If an input condition specifies that the range of values of the input variable items must befrom 1 to 999, one valid equivalence class would be 1<=items<=999 and 2 invalid equivalence classes would be items<1 and items>999. The prons and cons of method are the Test cases for each input domain data item developed and executed. This method uses less number of input data compare to exhaustive testing. However, the data for boundary values are not considered. This method though reduces significantly the number of input data to be tested; it does not test the combinations of the input data.

Q41.Explain graph matrices with an example.

Ans :- The graph matrix is a square matrix with number of sides equal to number of nodes and rows and columns of the matrix correspond to the number of nodes in the flow graph and Entries correspond to the directing edges.

1 1 1 1 1

1 111

1

Q42.Explain control structure testing. Ans :- In control structure testing conditions are very important and testing such conditions is more complex than other statements like assignment and declarative statements. There are many ways in which control structure can be tested.1) Conditions TestingCondition testing aims to exercise all logical conditions in a program module. Condition testing methods focus on testing each condition in the program and it could be of any type of conditions.2)Data Flow Testing data flow diagram like control flow (see basis path flow) is drawn. Then selects test paths according to the location of definitions and use of variables. This type of testing is useful and can be automated.3) Loop testing Loops are fundamental to many algorithms. Loops can be categorized as, define loops as simple, concatenated, nested, and unstructured.

Q43.Enumerate the different types of software testing. Ans :- 1. Black Box Testing2. White Box Testing3. Grey Box Testing 4. Alpha Testing 5. Beta Testing 6. Unit Testing7. .Integration Testing 8. System Testing 9. Acceptance Testing

Page 11: 93-54 Software Quality and Testing

10. Configuration/Plateform Testing 11.Localization Testing 12.Internationalization Testing 13.Usability Testing 14.Performance Testing 15.Load Testing 16.Stress Testing 17.Benchmark Testing 18.Functional Testing 19.Formal Inspections 20.Consistency Testing21. Regression Testing 22. Smoke Testing 23. Sanity Testing 23. Sanity Testing 24. Top Down Testing 25. Bottom Up Testing 26. End to End Testing 27. Automated Testing 28. Heuristic Testing 29. User Testing 30. Protection Testing 31. Data Driven Test 32. Forced Error Testing 33. Database Testing 34. Destructive Testing 35. Preventive Testing 36. Boundary Testing 37. Volume Testing 38. Compatibility Testing 39. Documentation Testing 40. On-line Help Testing 41. Installation Testing 42. Graphic User Interface(GUI) Testing 43. Security Testing 44. Link Testing 45. Static Testing 46. Requirement Phase Testing 47. Error-Handling Testing 48. Module Testing 49. Basis Path Testing 50. Big Bang Testing 51. Exhaustive Testing 52. Hardware Testing 53. Software Testing 54. Production Testing 55. Component Testing 56. E-Commerce Testing 57. Browser Testing 58. HTML Testing 59. Server Testing 60. Reliability Testing 61. Availability Testing

Q44.Explain any 5 types of software testing.Ans: 1. Black Box Testing :- To ensure the validity of the software application without the need for having

its internal structure exposed. During the testing, the program code is not available but the executable module is used. Detailed test plan and proper test environment is required. Black box testing method is used in most of the applications to ensure the business functions accurately.2. White Box TestingIt is a method to test the software utilizing its internal structure. The complete code structure is available during the test. Normally, programmers use this method to find the errors at the program level which helps in debugging. This also helps in understanding the behavior of the program, code review, and data flow and code level test case design.3. Grey Box TestingIt is a higher level of abstraction and less comprehensive as compared to, white box testing. It involves business case testing with parts of the internal structure exposed. Used to test the software through some understanding of its internals and is like “looking under hood”.4. Alpha TestingA person other than the developer carries out testing, in-house, and at various project milestones. Since a third person tests the software, a detailed test plan must be provided.0.0000000000+This type of testing is conducted by end-users either after or in parallel with system testing. Users who are the ultimate owner of the software will test the system before deployment and the errors will be reported back to the developer.

Q45. Explain the importance of testing. What are the Hurdles in testing? Ans :- Importance of testing are:-

Testing is a critical element of software Quality Assurance

Post-release removal of defects is the most expensive

* Significant portion of life cycle effort expended on testingIn a typical service oriented project, about 20-40% of project effort is spent on testing. It is much more in the case of “human-rated” software.Hurdles in testing are:-

Page 12: 93-54 Software Quality and Testing

Usually late activity in the project life cycle

No “concrete” output and therefore difficult to measure the value addition

Lack of historical data Recognition of

importance is relatively less

Politically damaging as you are challenging the develop

Delivery commitments Too much optimistic

that the software always works correctly

Q46. Smoke testing, localization testing Ans :- Localization TestingAll systems need not be interfaced or mapped on to a English language. In some countries, Englishmay be used. In such cases, the system has to be developed both in English and customized to locallanguage. This type of testing is to ensure the software that localization does not affect the softwarefunctionality. It ensures the appropriateness of linguistic locale changes.Smoke TestingRigorous testing requires more time and people. Also, the complete software may not be ready forrigorous testing. Initially, testing is carried out on important functional behavior so that it can be taken upfor further testing. Smoke testing mainly ensures that all functions work correctly on a new softwarebefore being subjected to rigorous testing. This is a pre-qualification test.

Q47. Explain the purpose of testing? What happens if a software program is not tested before deployment.Ans :- * To show that the software works: It is known as demonstration-oriented.Test all functions that are used to run the software which produces results. These functions are

directly related to the business functions. Here, all paths of the software system are not tested.For instance, there may be an error routine which traps the errors during the execution. Thismay not be necessary to test as it is not relevant to the daily running of the software.*To Show that the software doesn’t work: It is known as destruction-oriented.In this case, all functions including non-business functions are tested to discover the possibleerrors. Even non-routine functions are also tested. Exceptions are also tested. However, once asingle error is detected, the testing process stops.*To minimize the risk of not working up to an acceptable level: It is known as evaluationoriented.Some times the entire software will not be tested due to many reasons like inadequate time.However, all the functions which are critical from the business point of view to the customer willbe tested. The acceptable level is a mutually agreed terms between the customer and the developer. If a s/w program is not tested before deployment then we face many problems and do not work thus *Post-release removal of defects is the most expensive *cost of rectifying a defect during development is much less than rectifying a defect in production.