Software Engineering Unit 4
Software Engineering Unit 4
SOFTWARE ENGINEERING
UNIT 4
WHAT IS TESTING
Testing is a group of techniques to determine the correctness of the application under the
predefined script but, testing cannot find all the defect of application. The main intent of testing
is to detect failures of the application so that failures can be discovered and corrected. It does not
demonstrate that a product functions properly under all conditions but only that it is not working
in some specific conditions.
Testing furnishes comparison that compares the behavior and state of software against
mechanisms because the problem can be recognized by the mechanism. The mechanism may
include past versions of the same specified product, comparable products, and interfaces of
expected purpose, relevant standards, or other criteria but not limited up to these.
Testing includes an examination of code and also the execution of code in various environments,
conditions as well as all the examining aspects of the code. In the current scenario of software
development, a testing team may be separate from the development team so that Information
derived from testing can be used to correct the process of software development.
The success of software depends upon acceptance of its targeted audience, easy graphical user
interface, strong functionality load test, etc. For example, the audience of banking is totally
different from the audience of a video game. Therefore, when an organization develops a
software product, it can assess whether the software product will be beneficial to its purchasers
and other audience.
SOFTWARE TESTING
Software testing tutorial provides basic and advanced concepts of software testing. Our software
testing tutorial is designed for beginners and professionals.
Software testing is widely used technology because it is compulsory to test each and every
software before deployment.
Software Testing is the process of identifying the accuracy and quality of the software product
and service under test. Apparently, it was born to validate whether the product fulfills the
particular prerequisites, needs, and desires of the client. At the end of the day, testing executes a
framework or application with a specific end goal to point out bugs, errors or defects. The
responsibility of testing is to point out the issues of bugs and give Dev (Developers) a clue to
help them fix it right following the requirements.
Validate the quality of a software using the minimum cost and efforts.
Generate high-quality test cases, perform effective tests, and issue correct and helpful
problem reports.
Software testing is often divided into 2 main processes: Verification and Validation.
Verification in software testing is the process when your team just need to check whether the
software, system or framework consistent, aligned with the requirements of a documentation.
Validation is the process that your team needs to verify the accuracy of the system. In this
process, you will look back to the product, system and think about what users actually want
and what has been done.
Verification testing
It is also known as static testing, where we are ensuring that "we are developing the right
product or not". And it also checks that the developed application fulfilling all the requirements
given by the client.
Validation testing
Validation testing is testing where tester performed functional and non-functional testing.
Here functional testing includes Unit Testing (UT), Integration Testing (IT) and System Testing
(ST), and non-functional testing includes User acceptance testing (UAT).
Validation testing is also known as dynamic testing, where we are ensuring that "we have
developed the product right." And it also checks that the software meets the business needs of
the client.
Verification Validation
Verification is the process to find whether the The validation process is checked whether the
software meets the specified requirements for software meets requirements and expectation
particular phase. of the customer.
It describes whether the outputs are as per the It explains whether they are accepted by the
inputs or not. user or not.
Plans, requirement, specification, code are Actual product or software is tested under
evaluated during the verifications. validation.
It manually checks the files and document. It is a computer software or developed program
based checking of files and document.
In Software Testing, there is the difference between Errors, Defects, and Bugs that we should
distinguish clearly to avoid misunderstanding problem.
Error is a deviation from the actual and the expected result. It represents the mistakes made by
people.
Bug is an error found BEFORE the application goes into production. A programming error that
causes a program to work poorly, produce incorrect results, or crash. An error in software or
hardware that causes a program to malfunction.
Defect happens once the error is identified during testing, it is logged as a ‘Defect’ in the
tracking system.
Failure is the incapacity of a system to conduct its required functions within clarified
performance requirements, literally a disappointment or a letdown. And no one wants to do
business with a failure.
In short, “A mistake in coding is called Error, Error found by the tester is called Defect, Defect
accepted by development team then it is called Bug, build does not meet the requirements then it
is a Failure.”
PROCESS OF TESTING
In test planning, it is necessary to understand the goals and objectives of the customer,
stakeholders, project and risks.
Determine the test approach i.e techniques, test items, coverage, recognizing and
interfacing with the teams involved in testing.
Determine the essential test resources i.e people, test environment, PC's.
Schedule test analysis and design tasks, test implementation, execution and evaluation. It
is necessary to schedule all the tasks and activities in such a way that the tester can
complete the testing on time.
Determine the exit criteria. It is necessary to set the coverage criteria. This criteria is
executed during the testing.
It is important to inform project team how much testing has been completed, what are the
results, conclusions and the outcome of risk assessment.
Review the test basis i.e risk analysis, requirement architecture, design specifications and
interfaces. Test basis is the information which is necessary to start the test analysis and
create own test cases.
Recognize the test conditions on the basis of test items, their specifications, behavior and
structure.
Design the tests and evaluate the testability of requirements and system.
Design the test environment set-up and recognize any needed infrastructure and tools.
In implementation, test cases are developed using decided techniques and test data for
those test cases is generated.
For the efficient test execution generate test suites from the test cases.
To execute the test suites and individual test cases, use the text execution tools as stated
by planned sequence or perform manual testing.
On the basis of risk evaluation of the project, set the criteria for each test level and measure
“enough testing” against this criteria. This criteria varies from project to project and is called
as exit criteria
The exit criteria is defined in test planning. Here, test records are checked across the exit
criteria.
Finalize testware i.e scripts, test environment for the future use.
Software testing is required to identify the defects and errors during the development
phases.
It is necessary to give the facilities to the customers i.e the delivery of the quality product
or software application that requires lower maintenance cost as results are accurate,
consistent and reliable.
i) Testing shows presence of defects: Testing shows the defects that are present, but it cannot
prove there is no defect.
ii) Exhaustive testing is impossible: Testing everything is not possible. Instated of testing
exhaustive testing use risks and priorities to focus testing efforts.
iii) Early testing: Testing activities are necessary to start as early as possible in the software
development life cycle.
iv) Defect clustering: In testing, most of the defects are related to small number of modules in a
system.
v) Pesticide paradox
If the same tests are running again and again then the same set of test cases no longer find
the new defects.
To overcome this 'pesticide paradox' test cases need to be regularly reviewed and revised.
vi) Testing is context dependent: Testing is context dependent. Various kinds of sites are tested
differently.
vii) Absence-of-errors fallacy: If the system built is unusable and does not meet the user
expectation, then finding and fixing defect does not help.
Software testing is created to detect any problems occurred during coding and developing a new
function or feature of a software product before it is delivered to the end users. These upcoming
features should be correctly matched with what it is supposed to be. Also, Testing tool will be a
gadget checking whether your team decently refers to the requirement. Hence, it basically is a
device helping to close the gap between actual and expectation in making a software product.
To make sure your product is powerful enough no matter how many people are using.
There is a big distinction when there is a person using your product referring to hundreds of
people trying to do the same thing at the same time. Your software needs to be strong enough to
guarantee that there will be no crashing down or loading annoying happened when a number of
people are trying to run your products. Therefore, it should be smoothly and perfectly working
with everyone.
It can’t be denied to say that nothing is perfect. There is always some unseen problems which
may generate during using your application. The responsibility of testing tool is to avoid bugs
found by users. We, who develop this application/software product should take the duty of
falling down as many as possible the number of bugs which may interrupt users in future, so
deliver the best experience for our users whilst using our apps.
To offer a product that can perfectly work on different browsers and tech devices
At the booming moment of this technology era, we, fortunately, welcome the existence of
a number of technology devices, browsers, and operating systems, giving us the chance to
choose different technology instruments to greater our tech experience. Therefore, the stress of
creating an application or product which could perfectly work on most of the technology
instruments has never been so great before.
Again, testing tool is created to provide the most excellent software product and service to the
end users. Of course, we couldn’t bring the best (since there is nothing perfect, we all know) but
we could minimize the chance of bugs occurred within our capability. Before releasing, we could
be proud and confident enough on the product we bring to market. In any case, unseen bugs may
have a real impact on a real person. Therefore, if we could have a chance to encounter the bug
before the users find it out, nothing could be greater than this.
Before testing starts, it’s necessary to identify and specify the requirements of the product
in a quantifiable manner.
Different characteristics quality of the software is there such as maintainability that means the
ability to update and modify, the probability that means to find and estimate any risk, and
usability that means how it can easily be used by the customers or end-users. All these
characteristic qualities should be specified in a particular order to obtain clear test results without
any error.
Several objectives of testing are there such as effectiveness that means how effectively the
software can achieve the target, any failure that means inability to fulfill the requirements and
perform functions, and the cost of defects or errors that mean the cost required to fix the error.
All these objectives should be clearly mentioned in the test plan.
For the software, identifying the user’s category and developing a profile for each user.
Use cases describe the interactions and communication among different classes of users and the
system to achieve the target. So as to identify the actual requirement of the users and then testing
the actual use of the product.
Rapid Cycle Testing is a type of test that improves quality by identifying and measuring the any
changes that need to be required for improving the process of software. Therefore, a test plan is
an important and effective document that helps the tester to perform rapid cycle testing.
The software should be capable of detecting or identifying different classes of errors. Moreover,
software design should allow automated and regression testing which tests the software to find
out if there is any adverse or side effect on the features of software due to any change in code or
program.
Formal technical reviews is technique to identify the errors that are not discovered yet. The
effective technical reviews conducted before testing reduces a significant amount of testing
efforts and time duration required for testing software so that the overall development time of
software is reduced.
Conduct formal technical reviews to evaluate the nature, quality or ability of the test
strategy and test cases.
The formal technical review helps in detecting any unfilled gap in the testing approach. Hence, it
is necessary to evaluate the ability and quality of the test strategy and test cases by technical
reviewers to improve the quality of software.
For the testing process, developing a approach for the continuous development
As a part of a statistical process control approach, a test strategy that is already measured should
be used for software testing to measure and control the quality during the development of
software.
1. Improves software quality and reliability – Testing helps to identify and fix defects early
in the development process, reducing the risk of failure or unexpected behavior in the final
product.
2. Enhances user experience – Testing helps to identify usability issues and improve the
overall user experience.
3. Increases confidence – By testing the software, developers and stakeholders can have
confidence that the software meets the requirements and works as intended.
4. Facilitates maintenance – By identifying and fixing defects early, testing makes it easier to
maintain and update the software.
5. Reduces costs – Finding and fixing defects early in the development process is less
expensive than fixing them later in the life cycle.
3. Limited coverage – Testing can only reveal defects that are present in the test cases, and it is
possible for defects to be missed.
4. Unpredictable results – The outcome of testing is not always predictable, and defects can be
hard to replicate and fix.
5. Delays in delivery – Testing can delay the delivery of the software if testing takes longer
than expected or if significant defects are identified.
STRATEGIC ISSUES
According to the categories of the user generate profiles for each category of user.
Should use the Formal Technical Reviews (FTR) for the effective testing.
To access the test strategy and test cases FTR should be conducted.
To improve the quality level of testing generate test plans from the users feedback.
The categorization of software testing is a part of diverse testing activities, such as test strategy,
test deliverables, a defined test objective, etc. And software testing is the execution of the
software to find defects.
The purpose of having a testing type is to confirm the AUT (Application Under Test).
The software testing mainly divided into two parts, which are as follows:
o Manual Testing
o Automation Testing
Testing any software or an application according to the client's needs without using any
automation tool is known as manual testing.
In other words, we can say that it is a procedure of verification and validation. Manual testing
is used to verify the behavior of an application or software in contradiction of requirements
specification.
We do not require any precise knowledge of any testing tool to execute the manual test cases.
We can easily prepare the test document while performing manual testing on any application.
In software testing, manual testing can be further classified into three different types of testing,
which are as follows:
In white-box testing, the developer will inspect every line of code before handing it over to the
testing team or the concerned test engineers. Subsequently, the code is noticeable for developers
throughout testing; that's why this process is known as WBT (White Box Testing).
In other words, we can say that the developer will execute the complete white-box testing for the
particular software and send the specific application to the testing team.
The purpose of implementing the white box testing is to emphasize the flow of inputs and
outputs over the software and enhance the security of an application.
White box testing is also known as open box testing, glass box testing, structural testing,
clear box testing, and transparent box testing.
Another type of manual testing is black-box testing. In this testing, the test engineer will
analyze the software against requirements, identify the defects or bug, and sends it back to the
development team.
Then, the developers will fix those defects, do one round of White box testing, and send it to the
testing team.
Here, fixing the bugs means the defect is resolved, and the particular feature is working
according to the given requirement.
The main objective of implementing the black box testing is to specify the business needs or the
customer's requirements.
In other words, we can say that black box testing is a process of checking the functionality of an
application as per the customer requirement. The source code is not visible in this testing; that's
why it is known as black-box testing.
Black box testing further categorizes into two parts, which are as discussed below:
o Functional Testing
o Non-function Testing
Functional Testing
The test engineer will check all the components systematically against requirement specifications
is known as functional testing. Functional testing is also known as Component testing.
In functional testing, all the components are tested by giving the value, defining the output, and
validating the actual output with the expected value.
Functional testing is a part of black-box testing as its emphases on application requirement rather
than actual code. The test engineer has to test only the program instead of the system.
Just like another type of testing is divided into several parts, functional testing is also classified
into various categories.
o Unit Testing
o Integration Testing
o System Testing
1. Unit Testing
Unit testing is the first level of functional testing in order to test any software. In this, the test
engineer will test the module of an application independently or test all the module functionality
is called unit testing.
The primary objective of executing the unit testing is to confirm the unit components with their
performance. Here, a unit is defined as a single testable function of a software or an application.
And it is verified throughout the specified application development phase.
2. Integration Testing
Once we are successfully implementing the unit testing, we will go integration testing. It is the
second level of functional testing, where we test the data flow between dependent modules or
interface between two features is called integration testing.
The purpose of executing the integration testing is to test the statement's accuracy between each
module.
o Incremental Testing
o Non-Incremental Testing
If these modules are working fine, then we can add one more module and test again. And we can
continue with the same process to get better results.
In other words, we can say that incrementally adding up the modules and test the data flow
between the modules is known as Incremental integration testing.
Incremental integration testing can further classify into two parts, which are as follows:
In this approach, we will add the modules step by step or incrementally and test the data flow
between them. We have to ensure that the modules we are adding are the child of the earlier
ones.
In the bottom-up approach, we will add the modules incrementally and check the data flow
between modules. And also, ensure that the module we are adding is the parent of the earlier
ones.
Whenever the data flow is complex and very difficult to classify a parent and a child, we will go
for the non-incremental integration approach. The non-incremental method is also known as the
Big Bang method..
3. System Testing
Whenever we are done with the unit and integration testing, we can proceed with the system
testing. In system testing, the test environment is parallel to the production environment. It is
also known as end-to-end testing.
In this type of testing, we will undergo each attribute of the software and test if the end feature
works according to the business requirement. And analysis the software product as a complete
system.
Non-function Testing
The next part of black-box testing is non-functional testing. It provides detailed information on
software product performance and used technologies. Non-functional testing will help us
minimize the risk of production and related costs of the software. Non-functional testing is a
combination of performance, load, stress, usability and, compatibility testing.
Non-functional testing categorized into different parts of testing, which we are going to discuss
further:
o Performance Testing
o Usability Testing
o Compatibility Testing
1. Performance Testing
In performance testing, the test engineer will test the working of an application by applying some
load.
In this type of non-functional testing, the test engineer will only focus on several aspects, such
as Response time, Load, scalability, and Stability of the software or an application.
Performance testing includes the various types of testing, which are as follows:
o Load Testing
o Stress Testing
o Scalability Testing
o Stability Testing
Load Testing
While executing the performance testing, we will apply some load on the particular application
to check the application's performance, known as load testing. Here, the load could be less than
or equal to the desired load. It will help us to detect the highest operating volume of the software
and bottlenecks.
Stress Testing
It is used to analyze the user-friendliness and robustness of the software beyond the common
functional limits.
Primarily, stress testing is used for critical software, but it can also be used for all types of
software applications.
Scalability Testing
In scalability testing, we can also check the system, processes, or database's ability to meet an
upward need. And in this, the Test Cases are designed and implemented efficiently.
Stability Testing
Stability testing is a procedure where we evaluate the application's performance by applying the
load for a precise time. It mainly checks the constancy problems of the application and the
efficiency of a developed product. In this type of testing, we can rapidly find the system's defect
even in a stressful situation.
2. Usability Testing
Another type of non-functional testing is usability testing. In usability testing, we will analyze
the user-friendliness of an application and detect the bugs in the software's end-user interface.
o The application should be easy to understand, which means that all the features must be
visible to end-users.
o The application's look and feel should be good that means the application should be
pleasant looking and make a feel to the end-user to use it.
3. Compatibility Testing
Here, software means we can test the application on the different operating systems and other
browsers, and hardware means we can test the application on different sizes.
Another part of manual testing is Grey box testing. It is a collaboration of black box and
white box testing.
Since, the grey box testing includes access to internal coding for designing test cases. Grey box
testing is performed by a person who knows coding as well as testing.
In other words, we can say that if a single-person team done both white box and black-box
testing, it is considered grey box testing.
Automation Testing
The most significant part of Software testing is Automation testing. It uses specific tools to
automate manual design test cases without any human interference.
Automation testing is the best way to enhance the efficiency, productivity, and coverage of
Software testing.
It is used to re-run the test scenarios, which were executed manually, quickly, and repeatedly.
In other words, we can say that whenever we are testing an application by using some tools is
known as automation testing.
We will go for automation testing when various releases or several regression cycles goes on the
application or software. We cannot write the test script or perform the automation testing without
understanding the programming language
Software testing is a process that can be systematically planned and specified. Test case design
can be conducted, a strategy can be defined, and results can be evaluated against prescribed
expectations.
Debugging occurs as a consequence of successful testing. That is, when a test case uncovers an
error, debugging is the process that results in the removal of the error. Although debugging can
and should be an orderly process, it is still very much an art. A software engineer, evaluating the
results of a test, is often confronted with a "symptomatic" indication of a software problem. That
is, the external manifestation of the error and the internal cause of the error may have no obvious
relationship to one another. The poorly understood mental process that connects a symptom to a
cause is debugging.
Debugging is the process of identifying and resolving errors, or bugs, in a software system. It is
an important aspect of software engineering because bugs can cause a software system to
malfunction, and can lead to poor performance or incorrect results. Debugging can be a time-
consuming and complex task, but it is essential for ensuring that a software system is functioning
correctly.
There are several common methods and techniques used in debugging, including:
1. Code Inspection: This involves manually reviewing the source code of a software system to
identify potential bugs or errors.
2. Debugging Tools: There are various tools available for debugging such as debuggers, trace
tools, and profilers that can be used to identify and resolve bugs.
3. Unit Testing: This involves testing individual units or components of a software system to
identify bugs or errors.
4. Integration Testing: This involves testing the interactions between different components of
a software system to identify bugs or errors.
5. System Testing: This involves testing the entire software system to identify bugs or errors.
7. Logging: This involves recording events and messages related to the software system, which
can be used to identify bugs or errors.
It is important to note that debugging is an iterative process, and it may take multiple attempts to
identify and resolve all bugs in a software system. Additionally, it is important to have a well-
defined process in place for reporting and tracking bugs, so that they can be effectively managed
and resolved.
Debugging is not testing but always occurs as a consequence of testing.4 Referring to figure, the
debugging process begins with the execution of a test case. Results are assessed and a lack of
correspondence between expected and actual performance is encountered. In many cases, the non
corresponding data are a symptom of an underlying cause as yet hidden. The debugging process
attempts to match symptom with cause, thereby leading to error correction.
Assigning the report to the software engineer defect to verify that it is genuine.
Defect Analysis using modeling, documentation, finding and testing candidate flaws, etc.
Validation of corrections.
Later, the person performing debugging may suspect a cause, design a test case to help validate
that suspicion and work toward error correction in an iterative fashion.
During debugging, we encounter errors that range from mildly annoying to catastrophic. As the
consequences of an error increase, the amount of pressure to find the cause also increases. Often,
pressure sometimes forces a software developer to fix one error and at the same time introduce
two more.
Debugging Approaches/Strategies:
1. Brute Force: Study the system for a larger duration in order to understand the system. It
helps the debugger to construct different representations of systems to be debugged
depending on the need. A study of the system is also done actively to find recent changes
made to the software.
2. Backtracking: Backward analysis of the problem which involves tracing the program
backward from the location of the failure message in order to identify the region of faulty
code. A detailed study of the region is conducted to find the cause of defects.
3. Forward analysis of the program involves tracing the program forwards using breakpoints
or print statements at different points in the program and studying the results. The region
where the wrong outputs are obtained is the region that needs to be focused on to find the
defect.
4. Using past experience with the software debug the software with similar problems in nature.
The success of this approach depends on the expertise of the debugger.
5. Cause elimination: it introduces the concept of binary partitioning. Data related to the error
occurrence are organized to isolate potential causes.
6. Static analysis: Analyzing the code without executing it to identify potential bugs or errors.
This approach involves analyzing code syntax, data flow, and control flow.
7. Dynamic analysis: Executing the code and analyzing its behavior at runtime to identify
errors or bugs. This approach involves techniques like runtime debugging and profiling.
9. Logging and Tracing: Using logging and tracing tools to identify the sequence of events
leading up to the error. This approach involves collecting and analyzing logs and traces
generated by the system during its execution.
10. Automated Debugging: The use of automated tools and techniques to assist in the
debugging process. These tools can include static and dynamic analysis tools, as well as tools
that use machine learning and artificial intelligence to identify errors and suggest fixes.
Web Testing, or website testing is checking your web application or website for potential bugs
before its made live and is accessible to general public. Web Testing checks for functionality,
usability, security, compatibility, performance of the web application or website.
During this stage issues such as that of web application security, the functioning of the site, its
access to handicapped as well as regular users and its ability to handle traffic is checked.
Functionality Testing of a Website is a process that includes several testing parameters like
user interface, APIs, database testing, security testing, client and server testing and basic website
functionalities. Functional testing is very convenient and it allows users to perform both manual
and automated testing. It is performed to test the functionalities of each feature on the website.
Test all links in your webpages are working correctly and make sure there are no broken links.
Links to be checked will include –
Outgoing links
Internal links
Anchor Links
MailTo Links
Scripting checks on the form are working as expected. For example- if a user does not fill
a mandatory field in a form an error message is shown.
Once submitted, the data in the forms is submitted to a live database or is linked to a
working email address
Test Cookies are working as expected. Cookies are small files used by websites to primarily
remember active user sessions so you do not need to log in every time you visit a website.
Cookie Testing will include
Testing cookies (sessions) are deleted either when cache is cleared or when they reach
their expiry.
Delete cookies (sessions) and test that login credentials are asked for when you next visit
the site.
Test HTML and CSS to ensure that search engines can crawl your site easily. This will include
Standard Compliance. Ensure standards such W3C, OASIS, IETF, ISO, ECMA, or WS-I
are followed.
Testing your end – to – end workflow/ business scenarios which takes the user through a
series of webpages to complete.
Test negative scenarios as well, such that when a user executes an unexpected step,
appropriate error message or help is shown in your web application.
2. Usability testing:
Usability Testing has now become a vital part of any web based project. It can be carried out by
testers like you or a small focus group similar to the target audience of the web application.
Menus, buttons or Links to different pages on your site should be easily visible and
consistent on all webpages
3.Interface Testing:
Three areas to be tested here are – Application, Web and Database Server
Application: Test requests are sent correctly to the Database and output at the client side
is displayed correctly. Errors if any must be caught by the application and must be only
shown to the administrator and not the end user.
Web Server: Test Web server is handling all application requests without any service
denial.
Database Server: Make sure queries sent to the database give expected results.
Test system response when connection between the three layers (Application, Web and
Database) cannot be established and appropriate message is shown to the end user.
4. Database Testing:
Database is one critical component of your web application and stress must be laid to test it
thoroughly. Testing activities will include-
Test data retrieved from your database is shown accurately in your web application
5. Compatibility testing.
Compatibility tests ensures that your web application displays correctly across different devices.
This would include-
Browser Compatibility Test: Same website in different browsers will display differently. You
need to test if your web application is being displayed correctly across browsers, JavaScript,
AJAX and authentication is working fine. You may also check for Mobile Browser
Compatibility.
The rendering of web elements like buttons, text fields etc. changes with change in Operating
System. Make sure your website works fine for various combination of Operating systems such
as Windows, Linux, Mac and Browsers such as Firefox, Internet Explorer, Safari etc.
6. Performance Testing:
This will ensure your site works under all loads. Software Testing activities will include but not
limited to –
Load test your web application to determine its behavior under normal and peak loads
Stress test your web site to determine its break point when pushed to beyond normal
loads at peak time.
Test if a crash occurs due to peak load, how does the site recover from such an event
Make sure optimization techniques like gzip compression, browser and server side cache
enabled to reduce load times
7. Security testing:
Security Testing is vital for e-commerce website that store sensitive customer information like
credit cards. Testing Activities will include-
INTRUDER
Intruder is a powerful vulnerability scanner that will help you uncover the many weaknesses
lurking in your web applications and underlying infrastructure. Offering industry-leading
security checks, continuous monitoring and an easy-to-use platform, Intruder keeps businesses of
all sizes safe from hackers.
Features
8. Crowd Testing:
You will select a large number of people (crowd) to execute tests which otherwise would have
been executed a select group of people in the company. Crowdsourced testing is an interesting
and upcoming concept and helps unravel many a unnoticed defects.
This concludes the tutorial. It includes almost all testing types applicable to your web
application.
As a Web-tester its important to note that web testing is quite an arduous process and you are
bound to come across many obstacles. One of the major problems you will face is of
course deadline pressure. Everything is always needed yesterday! The number of times
the code will need changing is also taxing. Make sure you plan your work and know clearly
what is expected of you. Its best define all the tasks involved in your web testing and
then create a work chart for accurate estimates and planning.