602 Software Testing | 4 Marks Questions with Answer

Software Testing


Answer the following questions 

 

1.       What is difference between functional and non-functional testing

Ans. : Functional Testing : 1. It verifies the operations and actions of an application. 2. It is based on requirements of customer. 3. It helps to enhance the behavior of the application. 4. Functional testing is easy to execute manually. 5. It tests what the product does.6. Functional testing is based on the business requirement.

          Non-functional Testing : 1. It verifies the behavior of an application. 2. It is based on expectations of customer. 3. It helps to improve the performance of the application. 4. It is hard to execute non-functional testing manually. 5. It describes how the product does. 6. Non-functional testing is based on the performance requirement.


2.       Which are the principles of the testing

Ans. : 1. Testing shows the presence of errors:

Testing an application can only disclose one or more defects that exist in the application, however, testing alone cannot prove that the application is error free. It is important to design effective test cases which find as many defects as possible.

2. Exhaustive testing is impossible:

Unless the application under test (UAT) has a very simple logical structure and limited input, it is not possible to test all possible combinations of data and scenarios. For this reason, risk and priorities are used to concentrate on the most important aspects to test.

3. Early testing:

We can start testing as soon as the initial products, such as the requirement or design documents are available. It is common for the testing phase to get squeezed at the end of the development lifecycle, i.e. when development has finished, so by starting testing early, we can prepare testing for each level of the development lifecycle.

4. Defect clustering:

During testing, it can be observed that most of the reported defects are related to a small number of modules within a system i.e. a small number of modules contain most of the defects in the system.


3.       Explain the need of software testing

Ans. : Testing identifies the difference between Expected and Actual Result. This is a process f trying to discover every conceivable fault or weakness in a work product.

We do software testing for many reasons, such as:

1. To check the reliability of the software.

2 To be ensured that the software does not contain any bug which can become a reason for failure?

3. To check the software was made according to its specification.

4. To check that the software meets its requirements.

5. To check that users are capable of using the software.

6. To check software works with other software and hardware it needs to work with.

7. To improve the quality of software by removing maximum possible errors or defects from it.


4.       What is debugging? Explain with its Phases

Ans. : Debugging is the activity which is carried out by the development team (or developer), after getting the test report from the testing team about defect(s) (defects can also be reported by the client). The developer then tries to find the causes of the defect. Developer may need to go through lines of code and find which part of code is having defects. After finding out the bug, he modifies that portion of code and then he rechecks if the defect is removed or not. After fixing the bug, the developer sends the software back to testers.

1. Defect Identification: A problem is identified in a system and a defect report is created.

2. Defect Confirmation: A software engineer maintains and analyzes this error report and finds solutions to the following questions before confirming the defect.

3. Defect Analysis: If the defect is real, the next step is to understand the root cause of the problem. Generally, engineers debug by starting a debugging tool (debugger) and they try to understand the root cause of the problem by following a step-by-step execution of the program. Here, defect is analyzed to understand its severity.

4. Defect Resolution: Once the root cause of a problem is identified, the error can be resolved by making an appropriate change to the code by fixing the problem. When the debugging process ends, the software is retested to ensure that no errors are left undetected. Moreover, it checks that no new errors are introduced in the software while making some changes to it during the debugging process.


5.       Explain waterfall testing cycle with diagram

Ans. : The Waterfall Model approach is the most basic life cycle model. This is the first Process Model begins and used broadly in Software Development to ensure project success. This model was developed by Winston Royce in the early 1970. Waterfall model is software development process sequential process, as flowing progressively downwards like waterfall through multiple phases.

Waterfall Model: The various phases involved in testing, with regard to the software development life cycle are:

1. Requirements Analysis

2. Test Planning

3. Test Design

4. Test implementation

5. Test debugging

6. System testing

7. Acceptance testing

8. Operations and maintenance

 

6.       Write the difference between inspection and reviews

Ans. : 1. Technical Review : In a review i.e. also known as technical review, a work product is especially examined for defects by several individuals other than the person who actually produced it. In this, work product is defined as an essential and important deliverable that is created during requirements, design, coding, or a testing phase of software development.

2. Software Inspection : These are considered as the most formal type of review. These are usually conducted after artifact fulfills predefined exit criteria (like a particular requirement is implemented).


7.       What is a White box testing? Explain with its techniques

Ans. : Testing based on design and implementation structures (specification may be ignored). It deals with the internal logic and structure of the code. It is testing from the inside tests that go in and test the actual program structure, which provide information about flow of control. For example: if-then-else statements, loops, etc.

 

8.       What is a Black box testing? Explain with its techniques

Ans. : Testing, either functional or non-functional, without reference to the internal structure of the component or system. Black Box test design technique: Procedure to drive and/or select test cases base on an analysis of the specification, either functional or non-functional of component or system without reference to its internal structure.

Equivalence Partitioning:

Equivalence Partitioning (EP) is a specification-based or black box testing technique. This technique is very common and mostly used by all the testers informally. Equivalence partitions are also known as Equivalence Class Partition (ECP). It divides the input domain of a program into classes of data from which test cases can be derived.

Boundary Value Analysis : is a software test design technique that involves determination of boundaries for input values. It selects values that are at the boundaries and just inside/outside of the boundaries as test data. Boundary Value Analysis (BVA) is based on testing at the boundaries between partitions. 

Use of Decision Table in Testing: A decision table is a good way to deal with different combination inputs with their associated outputs and also called cause-effect table. Reason to call a cause-effect table is an associated logical diagramming technique called cause-effect graphing that is basically used to derive the decision table.


9.       Advantages and Disadvantages of Gray Box Testing

Ans. : Advantages: 1. Gray box testing offers combined benefits of both White box testing as well as Black box testing. 2. Gray box testers rely on interface definition and functional specifications instead of source code. 3. Gray box testers can design excellent test scenarios around communication protocols and data type handling due to limited information available. 4. The testing will be performed from the user point of view instead of designer. Testing is done on the basis of high-level database diagrams and data flow diagrams.

Disadvantages : 1. The ability to go over the code and test coverage is limited. Since the access to source code is not available. 2. The tests can be redundant if the software designer has already run a test case. 3.  Testing every possible input stream is unrealistic because it would take an unreasonable amount of time; therefore, many program paths will go untested. 4. Not suited for algorithm testing.


10.     Advantages and Disadvantages of Black Box Testing

Ans. : Advantages black box 

1. Black box testing is efficient when used on large systems. 

2. The tester and developer in black box testing are independent of each other so testing is balanced and fair. 

3. Testers can be non-technical. 

4. There is no need for the tester to have detailed functional knowledge of the system.

Disadvantages black box : 

1. In black box testing, cases, it is challenging to design without having clear functional specifications. 

2. It is difficult to identify tricky inputs if the test cases are not developed based on specifications. 

3. It is difficult to identify all possible inputs in limited testing time. As a result, writing test cases may be slow and difficult. 

4. There are chances of having unidentified paths during the testing process. 

5. There is a high probability of repeating tests already performed by the programmer.


11.     Advantages and Disadvantages of White Box

Ans. : Advantages White box : 

1. To start the testing of the   of each section, so it might be possible to remove unused lines of code which might be causing the introduction of bugs. 

2. By executing equivalence use to approximate the partitioning. 

3. As the tester is aware of internal coding structure, then it is helpful to derive which type of input data is needed to test software applications effectively. 

4. White box testing allows you to help in the code optimization.

Disadvantages White box : 

1. To test the software application a highly skilled resource is required to carry out testing who knows the deep knowledge of internal structure of the code which increases the cost. 

2. Update test script is required if changing the implementation too frequently. 

3. If the application under test is large then exhaustive testing is impossible. It is not possible for testing each and every path/condition of a software program. which might miss the defects in code. 

4. White box testing is a very expensive type of testing. 

5. To analyze each line by line or path by path is nearly impossible work which may introduce or miss the defects in the code.


12.     Write Difference between White box test and black box test

Ans. :  

13.     Explain the term Unit Testing

Ans. : Unit test is the most basic testing mechanism at the developer level. This covers a very narrow and well defined scope. We isolate the code from any outside interaction or any dependency on any module. Unit tests focus on very small units of functionality. They cover the interaction of the code with memory only and do not cover any interaction with network, database or file systems. These dependencies are hard coded into the code while testing. They provide a simple way to check the smallest units of code and prove that units can work perfectly in isolation. However, we need to check further that when these units are combined they work in a cohesive manner which leads us to further types of tests.

Example : A test driver can replace the real software and more efficiently test a low-level module: Drivers send test-case data to the modules under test, read back the results, and verify that they're correct.


14.     Describe an Equivalence Partitioning?

Ans. : Equivalence Partitioning (EP) is a specification-based or black box testing technique. This technique is very common and mostly used by all the testers informally. Equivalence partitions are also known as Equivalence Class Partition (ECP). It divides the input domain of a program into classes of data from which test cases can be derived. The goal of equivalence partitioning is to reduce the set of possible test cases into a smaller, manageable set that still adequately tests the software. Equivalence partitioning is a software test design technique that involves dividing input values into valid and invalid partitions and selecting representative values from each partition as test data. It can be applied at any level of testing and is often a good technique to use first. The idea behind this technique is to divide (i.e. to partition) a set of test conditions into groups or sets that can be considered the same (i.e. the system should handle them equivalently), hence 'equivalence partitioning'. Equivalence partitions are also known as equivalence classes - the two terms means exactly the same thing.


15.     Explain the coverage testing

Ans. : Coverage means how much of the structure has been exercised or covered by a set of tests. Coverage techniques are used for two purposes: Test measurements and Test case design. They are often used to assess the amount of testing done. They are used to design additional tests to increase test coverage.

Tracking a piece of data completely through the software. Check the values at various places. Check for the overflow errors. Like variables are declared but the values assigned after calculations are beyond the limits. Involve checking of boundaries and sub-boundaries. For example if your software accepts a range of 1 to 2000 with the boundary conditions- 0,1,2 (for boundary 1) and 999,1000,1001 (for boundary 1000) then it also should include the other sub boundary values if any is there.


16.     Write techniques of Gray Box testing?

Ans. : Regression Testing: This testing is performed after making a functional improvement or repair to the program. Its purpose is to determine if the change has regressed other aspects of the program. This can be accomplished by executing the following testing strategies.

Retest Risky Use Cases: Choose baseline tests to rerun by risk.

Retest by Profile: Choose baseline tests to rerun by allocating time in proportion 

Retest all: Rerun all existing test cases. to operational profile.

Retest Changed Segment: Choose baseline tests to rerun by comparing code changes. (White box strategy).

Retest within Firewall: Choose baseline tests to rerun by analyzing dependencies.

2. Pattern Testing: It is best accomplished when historical data of previous system defects are analyzed. Your analysis will include specific reasons for the defect, which will require system analysis. Unlike black box testing where you are tracking the type of failures that are occurring, gray box testing digs within the code and determines why the failure happened.

Analysis Template will include:

1. The problem addressed. 2. Applicable situation. 3. The problem that can be discovered. 4. Related problems. 5. Solution for developers that can be implemented. 6. Generic test cases.

New test cases will include: 1. Security related test cases 2. Business related test cases 3. GUI related test cases 4. Language related test cases 5. Architecture related test cases 6. Database related test cases 7. Browser related test cases 8. Operating System related test cases.

3. Orthogonal Array Testing (OAT): This testing is a statistical testing technique implemented by Taguchi. This method is extremely valuable for testing complex applications and e-commerce products. The e-commerce world presents interesting challenges for test case design and testing coverage. The black box testing technique will not adequately provide sufficient testing coverage.


17.     Write difference between static and dynamic testing

Ans. :  






18.     Explain testing strategies in details

Ans. : Various testing strategies are:

1. Unit or Component level. 2. Integration testing at small. 3. Validation Testing. S/W requirement testing Design Info. Validation 4. System Testing. 5. Integration Testing at Large. 6. Acceptance Testing.

1. Unit Testing : Once the code is ready then it passes through these different testing levels. These levels are called as testing strategies.

2. Integration Testing is a level of the software testing process where individual units are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units.

3. System Testing is a level of the software testing process where a complete, integrated system/software is tested. The purpose of this test is to evaluate the system's compliance with the specified requirements.

4. Acceptance Testing is a level of the software testing process where a system is tested for acceptability. The purpose of this test is to evaluate the system's compliance with the business requirements and assess whether it is acceptable for delivery.


19.     Differentiate validation and verification techniques

Ans. : Verification : 

1. It includes checking documents, design, codes and programs.

2. Verification is the static testing. 

3. It does not include the execution of the code. 

4. Methods used in verification are reviews, walkthroughs, inspections and desk-checking.

5. It checks whether the software conforms to specifications or not. 

6. It can find the bugs in the early stage of the development.

Validation : 

1. It includes testing and validating the actual product. 

2. Validation is the dynamic testing. 

3. It includes the execution of the code. 

4. Methods used in validation are Black Box Testing, White Box Testing and non-functional testing. 

5. It checks whether the software meets the requirements and expectations of a customer or not. 

6. It can only find the bugs that could not be found by the verification process.


20.     Write a brief note on smoke testing

Ans. : A smoke test is reduced version of regression testing. Smoke testing is the initial testing process exercised to check whether the software under test is ready for further processing The term smoke testing originated in the hardware industry. After a part of hardware or a hardware component (For example: transformer) was changed or repaired, the equipment was simply powered-up. If there was no smoke, the component passed the test. In software, the term smoke testing describes the process of validating and confirming the availability of changed code to identify and fix defects. After this test the changes are mapped into the source product. It is designed to confirm that changes in the code functions as expected. Before running the smoke test, code review is conducted which focuses on changes in the code. 1. Designing test cases to ensure that these basic functions work and then packaging them into a smoke test suite. 2. Ensuring that every time a product is built, this suite runs successfully. 3. If this suite fails, then developers should identify the changes and possibly change or roll back these changes to a state where the test suite succeeds. 


21.     Differentiate alpha and beta level acceptance testing

Ans. :  







22.     Explain in short a concept of complexity metrics

Ans. : Code complexity testing is a method to determine how thoroughly a program should be tested. This is achieved by various complexity metrics, which are based on a combination of the size of the program and the complexity of the logic used to contro the program. Complexity metrics can be used as an input for risk-based testing. High complexit would lead us to assume a higher likelihood of failure. By breaking down a system into programs we can use the program complexity as a component of the likelihoo factor used in calculating risk levels. In defining the risk level, the tester still needs to assess the impact of the failures of each program, as well as the likelihood of the defect turning into a failure. Various complexity metrics are:

1. Lines of Code.

2. McCabe's Cyclomatic Complexity.

3. Halstead's Software Science.

Simple metric: Count the number of lines of code in the program and use count an measure of complexity.

Cyclomatic Complexity: It is software metric that provides a quantitative measure of the logical complexity a program. When used in the context of the basis path testing method, the va computed for Cyclomatic complexity defines the number of independent paths in basis set of a program and provides us with an upper bound for the number of te that must be conducted to ensure that all statements have been executed at level once.


23.     Explain the GQM Model of Metrics

Ans. : The Goal/Question/Metric (GQM) Paradigm developed by Basili and Weiss is a mechanism that provides a framework for developing a metrics program. The GQM paradigm consists of three steps:

1 Generate a set of goals for the development or maintenance project.

2. Derive from each goal the questions that must be answered to determine if the goals are being met.

3. Decide what must be measured (a set of metrics) to be able to answer the questions adequately.

Let us see each step in detail.

1. Generate a set of goals based upon the needs of the organization: . Determine what you want to improve, evaluate or examine. Goals are defined in terms of purpose, perspective, and environment using generic templates:

1. Purpose: To (characterize, evaluate, improve, predict, motivate, etc.) the (process, product, model, metric, etc.) to (understand, assess, manage, engineer, learn, improve, etc.) it. For example, to evaluate the maintenance process to improve it. Perspective: Examine the (cost, effectiveness, correctness, defects, changes, product metrics, reliability, etc.) from the point of view of the (developer, manager, customer, corporate perspective, etc.) For example, to examine the cost from the point of view of the manager. o Environment: The environment consists of the following: process factors, people factors, problem factors, methods, tools, constraints, etc.

2. Derive a set of questions: The purpose of the questions is to measure the goal as completely as possible. Questions are classified as product-related or process-related and provide feedback from the quality perspective. Product-related questions define the product and give input for the evaluation of the product concerning a particular quality (e.g. reliability, user satisfaction). Process-related questions include the quality of use, domain of use, the effort of use, effect of use, and feedback from the user.

3. Develop a set of metrics: In this step, the actual data needed to answer the questions are identified and associated with each of the questions. As data items are identified, it must be understood how valid the data item will be for accuracy and how well it responds to the specific question.


24.     Explain GUI testing in detail

Ans. : Graphical User Interface Testing (GUI) Testing is the process for ensuring proper functionality of the graphical user interface (GUI) for a specific application.GUI testing generally evaluates a design of elements such as layout, colors and also fonts, font sizes, labels, text boxes, text formatting, captions, buttons, lists, icons, links, and content. GUI testing processes may be either manual or automatic and are often performed by third-party companies, rather than developers or end users.

Types of Graphical User Interface Testing (GUI) Testing: 

There are two types of GUI testing which are given below: Analog Recording, and Object based recording. These are explained as following below. 

Analog Recording: This is always what people associate with GUI testing tools by analog recording, the testing tool basically captures specific mouse clicks, keyboard presses, and other user actions and then simply stores them in a file for playback. 

Object based Recording:  In object based recording, the testing tool is able to connect programmatically to the application being tested and “see” each of the individual user interface components as separate entities and is able to perform operations and read the state reliably regardless of where that object is on the screen. Challenges with Graphical User Interface Testing (GUI) Testing: There are some challenges that occur during Graphical user interface testing. These are given below.  1.     Technology Support  2.     Stability of Objects  3.    Instrumentation


25.     Explain in detail the testing for user documentation

Ans. : Testing documentation is the documentation of artifacts that are created during or before the testing of a software application. Documentation reflects the importance of processes for the customer, individual and organization. Projects which contain all documents have a high level of maturity. Careful documentation can save the time, efforts and wealth of the organization.

Testing Documentation : There is the necessary reference document, which is prepared by every test engineer before stating the test execution process. Generally, we write the test document whenever the developers are busy in writing the code.

Once the test document is ready, the entire test execution process depends on the test document. The primary objective for writing a test document is to decrease or eliminate the doubts related to the testing activities.

Types of test document

In software testing, we have various types of test document, which are as follows:

1. Test scenarios 

2. Test case 

3. Test plan 

4. Requirement traceability matrix(RTM) 

5. Test strategy 

6. Test data 

7. Bug report 

8. Test execution report


26.     Which are the benefits of user documentation testing

Ans. : 1.  Documentation clarifies the quality of methods and objectives. 

2. It ensures internal coordination when a customer uses software application. 

3. It ensures clarity about the stability of tasks and performance. 

4. It provides feedback on preventive tasks. 

5. It provides feedback for your planning cycle. 

6. It creates objective evidence for the performance of the quality management system. 

7. If we write the test document, we can't forget the values which we put in the first phase. 

8. It is also a time-saving process because we can easily refer to the text document. 

9. It is also consistent because we will test on the same value. 


27.     Explain in detail the Web-Based testing

Ans. : Web testing is a software testing technique to test web applications or websites for finding errors and bugs. A web application must be tested properly before it goes to the end-users. Also, testing a web application does not only means finding common bugs or errors but also testing the quality-related risks associated with the application. Software Testing should be done with proper tools and resources and should be done effectively. We should know the architecture and key areas of a web application to effectively plan and execute the testing.

Types of Web Testing:

Static Website Testing: A static website is a type of website in which the content shown or displayed is exactly the same as it is stored in the server.

Dynamic Website Testing: A dynamic website is a type of website that consists of both frontend i.e, UI, and the backend of the website like a database, etc. This type of website gets updated or change regularly as per the user’s requirements.

E-Commerce Website Testing: An e-commerce website is very difficult in maintaining as it consists of different pages and functionalities, etc. In this testing, the tester or developer has to check various things like checking if the shopping cart is working as per the requirements or not, are user registration or login functionality is also working properly or not, etc.

Mobile-Based Web Testing: In this testing, the developer or tester basically checks the website compatibility on different devices and generally on mobile devices because many of the users open the website on their mobile devices.


28.     Explain the test case design for the ATM system

Ans. : 1. Verify the ‘ATM Card Insertion Slot’ is as per the specification

2. Verify the ATM machine accepts card and PIN details

3. Verify the error message by inserting a card incorrectly

4. Verify the error message by inserting an invalid card (Expired Card)

5. Verify the error message by entering an incorrect PIN

6. Verify that the user is asked to enter the PIN after inserting a valid ATM Card

7. Verify that PIN is encrypted

8. Verify that there is an action like blocking of card occurs when the total no. of incorrect PIN attempts get surpassed

9. Verify the user is allowed to do only one cash withdrawal transaction per PIN request

10. Verify the machine logs out of the user session immediately after successful withdrawal

11. Verify the message when there is no money in the ATM

12. Verify the language selection functionality

13. Verify the cash withdrawal functionality by entering some valid amount

14. Verify the cash withdrawal functionality by entering an amount less than 100

15. Verify the cash withdrawal functionality by entering an amount greater than the total available balance in the account.

16. Verify the cash withdrawal functionality by entering an amount greater than per day limit

17. Verify the user is allowed to enter the amount again in case the amount entered is not valid. A proper message should be displayed.

18. Verify the ATM machine successfully takes out the money.

19. Verify the ATM machine takes out the balance printout after the withdrawal

20. Verify the font of the text displayed in ATM screen

21. Verify the text on the screen buttons visible clearly.

22. Verify the functionality of all the buttons on the keypad

23. Verify the text on the buttons visible clearly.

24. Verify that touch of the ATM screen is smooth and operational

25. Verify the user is allowed to choose different account types like Savings, Current etc.,

26. Verify the different combinations of operation and check if there will be an electricity loss in the middle of the operation. If there is an electricity loss in the middle of the transaction then the transaction should be marked as null and the amount shouldn’t be disclosed to others.

27. Verify the functionality of the cash dispenser

28. Verify the functionality of the receipt printer

29. Verify whether the printed data is correct or not in the receipt

30. Verify how much time the system takes to log out.


29.     Explain in detail the J unit testing framework

Ans. : JUnit tutorial provides basic and advanced concepts of unit testing in java with examples. Our junit tutorial is designed for beginners and professionals. It is an open-source testing framework for java programmers. The java programmer can create test cases and test his/her own code. It is one of   the unit testing framework. Current version is junit 4. To perform unit testing, we need to create test cases. The unit test case is a code which ensures that the program logic works as expected. The org.junit package contains many interfaces and classes for junit testing such as Assert, Test, Before, After etc. 

Types of unit testing

There are two ways to perform unit testing: 1) manual testing 2) automated testing.

1) Manual Testing

If you execute the test cases manually without any tool support, it is known as manual testing. It is time consuming and less reliable.

2) Automated Testing

If you execute the test cases by tool support, it is known as automated testing. It is fast and more reliable.


30.     Which are the features of the “Rational Robot” test tool?

Ans. : Simplifies configuration testing : Rational Robot can be used to distribute functional testing among many machines, each one configured differently. The same functional tests can run simultaneously, and so reduces the time to identify problems with specific configurations.

Tests many types of applications: Rational Robot supports a wide range of environments and languages, including HTML and DHTML, Java, .NET, Microsoft Visual Basic and Visual C++, Oracle Developer/2000, Sybase PowerBuilder, and Borland Delhi.

Ensures testing depth: With a single mouse click, you may test hundreds of characteristics of an application's component objects, such as ActiveX Controls, OCXs, Java applets, and many others.

Tests custom controls and objects: Rational Robot allows you to test each application component under varying conditions and provides test cases for menus, lists, alphanumeric characters, bitmaps, and many more objects.

Provides an integrated programming environment: Rational Robot generates test scripts in SQA Basic, an integrated MDI scripting environment that allows you to view and edit your test script while you are recording.


31.     Explain test case design for the login presses

Ans. : 1. Verify if a user will be able to login with a valid username and valid password.

2        Verify if a user cannot login with a valid username and an invalid password.

3        Verify the login page for both, when the field is blank and Submit button is clicked.

4        Verify the ‘Forgot Password’ functionality.

5        Verify the messages for invalid login.

6        Verify the ‘Remember Me’ functionality.

7        Verify if the data in password field is either visible as asterisk or bullet signs.

8        Verify if a user is able to login with a new password only after he/she has changed the password.

9        Verify if the login page allows to log in simultaneously with different credentials in a different browser.

10      Verify if the ‘Enter’ key of the keyboard is working correctly on the login page.

11      Verify the time taken to log in with a valid username and password.

12      Verify if the font, text color, and color coding of the Login page is as per the standard.

13      Verify if there is a ‘Cancel’ button available to erase the entered text.

14      Verify the login page and all its controls in different browsers.


32.     Explain the test case design format

Ans. : A test case is a defined format for software testing required to check if a particular application/software is working or not. A test case consists of a certain set of conditions that need to be checked to test an application or software i.e. in more simple terms when conditions are checked it checks if the resultant output meets with the expected output or not. A test case consists of various parameters such as Id, condition, steps, input, expected result, result, status, and remarks.

Parameters of a Test Case: 

Module Name: Subject or title that defines the functionality of the test. 

Test Case Id: A unique identifier assigned to every single condition in a test case. 

Tester Name: The name of the person who would be carrying out the test. 

Test scenario: The test scenario provides a brief description to the tester, as in providing a small overview to know about what needs to be performed and the small features, and components of the test.

Test Case Description: The condition required to be checked for a given software. for eg. Check if only numbers validation is working or not for an age input box. 

Test Steps: Steps to be performed for the checking of the condition. 

Prerequisite: The conditions required to be fulfilled before the start of the test process.

Test Priority: As the name suggests gives the priority to the test cases as in which had to be performed first, or are more important and which could be performed later.

Test Data: The inputs to be taken while checking for the conditions.

Test Expected Result: The output which should be expected at the end of the test.

Test parameters: Parameters assigned to a particular test case.

Actual Result: The output that is displayed at the end.

Environment Information: The environment in which the test is being performed, such as operating system, security information, the software name, software version, etc.

Status: The status of tests such as pass, fail, NA, etc.

Comments: Remarks on the test regarding the test for the betterment of the software.


33.     Explain the various ways to measure reliability

Ans. : Reliability Testing is a testing technique that relates to test the ability of a software to function and given environmental conditions that helps in uncovering issues in the software design and functionality. It is defined as a type of software testing that determines whether the software can perform a failure free operation for a specific period of time in a specific environment. It ensures that the product is fault free and is reliable for its intended purpose.

The objective of reliability testing is:

To find the perpetual structure of repeating failures.

To find the number of failures occurring is the specific period of time.

To discover the main cause of failure.

To conduct performance testing of various modules of software product after fixing defects.

Types of Reliability Testing:

Feature Testing:

Following three steps are involved in this testing:

1. Each function in the software should be executed at least once.

2. Interaction between two or more functions should be reduced.

3. Each function should be properly executed.

Regression Testing:

Regression testing is basically performed whenever any new functionality is added, old functionalities are removed or the bugs are fixed in an application to make sure with introduction of new functionality or with the fixing of previous bugs, no new bugs are introduced in the application.

Load Testing:

Load testing is carried out to determine whether the application is supporting the required load without getting breakdown. It is performed to check the performance of the software under maximum work load.

 

Post a Comment

0 Comments