1)Agile Testing: A software testing practice that follows the principles of agile software development is
called Agile Testing. • Agile is an iterative development methodology, where requirements evolve through
collaboration between the customer and self-organizing teams and agile aligns development with customer
needs. (Features of Agile Testing): 1. The whole development process in agile testing is divided into
smaller sprints, or they are called iterations that are delivered to the customers within the given timeframe. 2.
Agile testing suggests smart work rather than hard work, hence facilitating the continuous delivery of products
in a most efficient manner as each team works in a collaborative manner to accomplish the task. 3. Feedback
is provided on an ongoing basis by the testing team to ensure continuous progress. 4. Testing is done during the
development cycle to ensure that the deliverable should be in a stable state so that the tester can test major
functionality with different perspectives.
2)Methods of Agile Testing: 1) Acceptance Test-Driven Development (ATDD): • The ATDD is the
methodology of agile testing, in which tests work on the basis of customers’ point of view on how a software
work shall. • So, these acceptance tests exhibit the notions of the users so it ensures that the software works
according to the demand for which it was created. 2)Exploratory Testing: • Exploratory Testing is an important
activity in an agile environment as it can help software testers to keep up with the rapid development pace of
agile software projects. • In exploratory testing, test design and test execution are done simultaneously. In
exploratory testing, a tester does every hit and trial to break the system by using different user behaviors.. 4)FIT
Tests: • As the name suggests, FIT (Framework Integrated Test) technique is an integration of the tasks of
analysts, testers, developers, and even customers.
3)V Model: The first variant of the waterfall
model is the ‘V model’ of development (so called
because it is in the shape of the alphabet V). The
V model (though essentially a waterfall with
sequential phases) is different from it, in that
testing forms an important part of the model to
arrive at a better quality product/project. • The
V-model is SDLC model where execution of
processes happens in a sequential manner in V
shape. It is also known as Verification and
Validation model. The V model is a highly
disciplined model and next phase starts only
after completion of the previous phase.
4)TEST CASE: A test case is defined as, "test condition such as to exercise a particular program path or to
verify compliance with a specific requirement" A test case is a set of conditions under which a tester will
determine whether a functionality of software is working correctly or not. Test case is a well documented
procedure designed to test the functionality of a future in the system. The primary purpose designing a test
case is to find errors in the software or system. IEEE defines test case as, "a set of input values, execution
preconditions and expected outcomes developed for a particular objectives".
5)Navigation test
Syntax: The first
step of navigation
testing in WebApp is
actually begins
during interface
testing. Navigation
are tested to ensure
that each performs
its intended function.
1)links and anchors of
all types, 2)redirects
(when a user request
a nonexistent URL),
3)bookmarks,
4)frames and frame
sets, 5) site maps,
6)the accuracy of
internal search
facilities.
5)Internationalization Testing: Internationalization testing is the process that ensures that software
product's functionality is not broken and all the messages are properly externalized when used in different
languages and locale. Internationalization testing is the process of verifying the application under test to work
uniformly across multiple regions and cultures. The purpose of internationalization testing is to check if the
code can handle all international support without breaking functionality that might cause data loss or data
integrity issues. Type: 1)Internationalization (I18n): It is predominantly used as an umbrella term to
mean all activities that are required to make the software available for international market. 2. Localization
(L10n): It is a term used to mean the translation work of all software resources such as messages to the target
language and conventions. 3. Globalization (G11n): Globalization (G11n) is a term that is not very popular
but used to mean internationalization and localization. Some companies/organizations use the term I18n, to
mean only the coding and testing activities, not the translation.
6)VERIFICATION AND VALIDATION: Verification and Validation (V&V) activities are two branches of
software testing. They are complementary to each other and not substitutes of each other. Verification and
validation are completely dependent on each other. Software verification and validation activities check the
software against its specification. During requirement gathering phase requirements are collected. The SRS
(Software Requirements Specification) document is product of requirement phase. It is verified from the
customer to check that proper requirements are captured. The design phase takes SRS and implements the
design which is useful during coding. The requirement team checks whether the SRS is mapped to design
phase properly. Verification: It involves checking that the program conforms to its specification.
Validation: It involves checking that the program as implemented meets the expectations of the customer.
7)Performance Testing: Performance testing is performed to verify the server response time and
throughput under various load conditions. • The intent is twofold, to understand how the system responds as
loading (i.e., number of users, number of transactions, or overall data volume) and to collect metrics that will
lead to design modifications to improve performance.
8)Testing Navigation Semantics (NSU): It is a set of information and related navigation structures
that collaborate in the fulfillment of a subset of related user requirements. Each and every NSU is defined by a
set of navigation paths (called “ways of navigating”) that connect navigation nodes (e.g., Web pages, content
objects or functionality). We should answer the following questions as each NSU is tested: o If the NSU can be
achieved using more than one navigation path, has every relevant path been tested? o Is the NSU achieved in
its entirety without error? o Does the user understand his location within the content architecture as the NSU is
executed?
9)Working of Integration Testing: Integration testing is a systematic software testing technique for
constructing the software architecture while at the same time conducting tests to uncover errors associated
with interfacing. The goal of integration testing is to take unit tested components and build a program structure
that has been dictated by design. The integration testing is aimed at ensuring that all the modules work
properly as per the user requirements or expectations when they are put together i.e. integrated. Advantages
of Integration Testing: 1. The integration testing is efficient and convenient for small systems. 2. In
integration testing, it is easy to fix the error when compared to the system testing. 3. In integration testing, the
interfaces should be checked thoroughly if any error messages are shown. Disadvantages of Integration
Testing: 1. The time used for developing, integrating, testing of all the modules is significant. This leads to
delay in testing team execution time. 2. In integration testing, numerous modules are to be interfaced, which
needs to be tested in a system. This could lead to missing of an interface.
10)Software testing :Software testing is defined as, “a systematic process of executing a program or
system with the intent of finding errors.” Advantages of Software Testing: 1. Software testing ensures
that the software is being developed according to user requirements/expectations. 2. Software testing finds
and removes errors, which prevent the software from producing output according to user
requirements/expectations. 3. Software testing improves the quality of the software by removing maximum
possible errors from it.
11)TEST PLANNING :Test planning the most important activity in WebApp testing. A test plan in Web testing
provides a road map so that the Websites can be evaluated through requirements. • Test planning ensures that
there is initially a list of tasks and milestones in a baseline plan to track the progress of the project. • A test
plan is a document that guides the whole process of testing. Test planning helps to estimate the time schedule
and efforts needed for testing.
Regression Testing: The regression testing is a type of software testing that confirms that a recent program
or code change did not affect existing functionality. It also ensures that over time no old errors occur by adding
new software modules. The purpose of regression testing is to ensure that changes made to software, such as
adding new features or modifying existing features, have not adversely affected features of the software that
should not change. Benefits of Regression Testing: 1. Regression testing ensures the software is working
very well even after introducing many changes and modifications. 2. The regression testing ensures that the
unchanged parts of software system work properly according to specification. Disadvantages of
Regression Testing: 1. The regression testing requires knowledge about the software system and how it
affects by the existing functionalities. 2. Regression testing is time-consuming and expensive activity.
12)Web Applications Testing: Web app testing also known as Web testing. Web testing is a software
testing practice/technique that helps ensure the quality and functionalities of the app according to the
requirements.
13)Stub: Stubs are mainly created for integration testing such as top-down approach. It is also very simple to
develop. Stubs
are also
programs that
are used to
replace modules
that are
subordinate to
the module to be
tested.
14)Agile Principles: Principle 1 - Testing is Not a Phase: Agile team tests alongside the development team
to ensure that the features implemented during a given iteration are actually done. Testing is not kept for a later
phase. Principle 2 - Testing Moves the project Forward: Agile team tests continuously and continuous testing is
the only way to ensure continuous progress. demands/needs. Principle 3 - Everyone Tests: In agile testing, the
entire team including analysts, developers, and testers test the application. In conventional SDLC, only test
team tests while in agile including developers and BA's test the application. Principle 5 - Keep the Clean Code:
Raised defects in agile testing are fixed within the same iteration and thereby keeping the code clean
15)DIMENSIONS OF QUALITY: A quality software product is a product that meets the expectations of
the customers or end users. Quality is incorporated into a Web application as a consequence of good analysis
and design. It is evaluated by applying a series of technical reviews that assess various elements of the design
model and by applying a testing process. The following are quality dimensions: 1. Structure is
assessed to ensure that it properly delivers WebApp content and function, that it is extensible and that it can
be supported as new content or functionality is added. 2. Content is evaluated at both a syntactic and
semantic level. At the syntactic level, spelling, punctuation, and grammar are assessed for text-based
documents. 3. Interoperability is tested to ensure that the WebApp properly interfaces with other applications
and/or databases.
16)Unit Testing: In this testing the smallest piece of software that can be tested in isolation. It is
procedure used to validate that individual unit of source code is working properly.