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.
0 Comments