|
||||||||||||||||||||||||
A Handbook of Science and Technology ISBN: 978-93-93166-44-9 For verification of this chapter, please visit on http://www.socialresearchfoundation.com/books.php#8 |
||||||||||||||||||||||||
Ad-hoc Testing in Software Development Life Cycle |
||||||||||||||||||||||||
Sachhidanand Rumma
Assistant Professor
Computer Science
Govt. First Grade College
Aurad (B). Karnataka, India
|
||||||||||||||||||||||||
DOI: Chapter ID: 17523 |
||||||||||||||||||||||||
This is an open-access book section/chapter distributed under the terms of the Creative Commons Attribution 4.0 International, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. | ||||||||||||||||||||||||
Abstract Ad-hoc software
testing is sometimes seen as a wasteful strategy. On the other hand, a lot of
knowledgeable software testers believe that the exploratory approach is one of
the finest methods for locating specific kinds of defects. As more and more
businesses recognize the critical role that software testing plays in the
creation of high-quality software, it has found a position in the software
industry. The pressure on IT organisations to deliver more products with less
resources, in less time, and with good quality increases as business
requirements climb. Assuring the deployment of error-free systems is a crucial
component of any IT strategy. Ad-hoc testing, among other advantages, greatly
lowers the total cost of ownership of programmes. Introduction Ad-hoc
testing, which is often used to describe software testing without preparation
or documentation, can also refer to early experimental scientific experiments.
Unless an error is found, the tests are only supposed to be run once. The least
formal testing approach is ad hoc testing. Because it is not structured and
there are no written test cases, defects discovered using this method may be
more difficult to reproduce. Ad-hoc testing's strength, on the other hand, is
its ability to swiftly identify significant defects. Ad hoc means
that something is neither organised or methodical. Black box or behavioural
testing that is conducted on an as-needed basis is known as ad-hoc testing.
Having the required paperwork, such as requirement documents, test plans, test
cases, and proper test planning in terms of the scheduling and sequencing of
the tests that will be executed, is what is meant by the formal process in this
situation. Additionally, actions taken during testing are often not documented.
This is mostly done to try and find errors or faults that can't be detected by
conventional or formal procedures used during the testing cycle. The key to
this testing is the lack of a formal or structured testing process. It is clear
when such random testing procedures are used that the testers are trying to
break the system without having any specific use cases in mind. Therefore, it
is even more evident that such intuitive or creative testing methodologies call
for the tester to be exceptionally experienced, capable, and possess a thorough
understanding of the system. Ad-hoc testing makes sure that the testing is done
completely and is very helpful in figuring out how effective the test bucket
is. A little
youngster fiddling with a car's controls and unintentionally pressing the
engine start button is an example of ad-hoc testing. Although the child is not
yet old enough to drive, he has accidentally tested the engine start button
without any prior planning. An additional illustration may be an email id
software developer. There is a restriction that the ID cannot contain any
special characters, even though an ID is successfully formed when a blank space
is entered. This ad hoc test was used to determine whether the software's code
was correct.
Ad-hoc
Testing is not structured Ad-hoc testing
is performed at random on any component of the programme and does not adhere to
any standardised testing methodology. This testing's primary goal is to
identify defects through random testing. Ad-hoc testing can make advantage of
the testing technique known as error guessing. People who are sufficiently
familiar with the system can "guess" the error source by undertaking
error guessing. Ad-hoc tests versus Regression tests The statement
"for the particular end or case at hand without consideration of wider
application" is a frequent definition for the term "ad-hoc." You
only want to run an ad-hoc test once as an exploratory scenario, unless it
finds a bug. Finding problems in brand-new products is the major goal of ad-hoc
testing. In the hands of an experienced tester, it can be quite useful in
identifying such problems. Formal regression testing can increase confidence
more effectively than ad-hoc testing, particularly if the breadth and depth of
the coverage are clearly high. Regression testing is the practise of testing
updates to computer programmes, and it is used to check whether the previous
programming still works after the new changes. Experts in code testing provide
regression testing, a common step in the development of programmes, for larger
corporations. For the purpose of testing newly written bits of code, the test
department's programmers design scenarios and exercises. The test bucket is
made up of these test cases. Prior test cases are run against a new version of
software before it is released to ensure that all previous features are still
functional. Since code in a programme that is not meant to be updated is prone to
faults when changed or added to, they might not function. Where does
Ad-hoc testing fit in the testing cycle? Ad-hoc testing
is applied during the entire testing procedure. Ad-hoc testing broadens
testers' comprehension of your programme early on in the project, assisting in
discovery. The knowledge acquired helps determine priorities and schedules
halfway through the project. Ad-hoc testing can be used to more thoroughly
analyse problem patches as a project gets closer to completion. Can Ad-hoc
Testing Be Automated? Comparatively
to ad-hoc testing, regression testing typically adapts to automated approaches
better. However, there are automated testing techniques that allow for
arbitrary test execution. The tester's capacity to execute impromptu processes
and assess the accuracy of the results is one of the key benefits of ad-hoc
testing. The last step of ad hoc testing, results verification, is exceedingly
challenging to automate. Strengths of
Ad-hoc Testing Ad hoc testing
is among the most effective discovery techniques. Rarely do you obtain a clear
understanding of how a programme operates from reading the requirements or
specifications, provided they even exist. Even user guides occasionally fall
short of capturing the "look and feel" of a programme. Your testing
strategy's flaws and previously unrecognised links between subsystems may be
found via ad-hoc testing. This means that it can be used as a tool to verify
the thoroughness of your tests. You can locate missing cases and add them to
your library of test cases. When execute
Ad-hoc Testing? Testing teams
are frequently overburdened with too many features to test in the allowed time.
Additionally, a lot of testing activities that are produced as a result of the
formal process must be finished in that brief period of time. Ad-hoc testing is
unlikely to be included in the testing under these conditions. According to my
experience, however, a single round of ad hoc testing can greatly enhance the
quality of the finished product and reveal a variety of design flaws. Only if
the tester is familiar with the system being tested can ad-hoc testing be
successful. Types of
Ad-hoc Testing i)Buddy
testing: The developer and tester collaborate on the module to acquire new
insights. This testing's goal is to give both members access to a wider range
of functions. ii)Pair
Testing: In this type of testing, two testers collaborate on a module using a
common test environment. The purpose of this type of testing is to increase the
amount of defects by having the two testers brainstorm ideas and approaches.
Both parties can split the task of conducting tests and creating the
appropriate records of all observations. The majority of
this testing is done at the unit testing level (iii). To make
sure the system can resist any crashes, the tester randomly parses data or runs
tests. Ad-hoc testing tips i) Altering the
browser's text size and/or display resolution, as well as checking the site's
UI elements. ii) Using
special characters when filling out forms and search forms. You'll be
astonished to learn that certain of these characters, such
as!@#$%&*()_+[]|;':">?,./, might cause issues when displayed on the
UI. iii) Trying to
enter and save data that exceeds the maximum allowed by the rules and/or
contains negative values in fields like dates, ages, etc. iv) Testing
across browsers. What might function on Firefox might not function on
Internet Explorer or specific IE versions. There are more opportunities
to uncover flaws the more browsers and operating systems we cover. v) Modify the
browser's settings to conduct regression testing by removing all or some of the
session-related cookies and/or the browser cache. When a session is idle,
the system should also gracefully handle session timeouts. vi)
Double-saving the same activity on a form. If you were to register a user
on a website, for instance, after filling out the necessary details, you might
click the Register link several times before checking the database to see if
multiple records or just one are created. vii) Moving
through the workflow and using the "Back" button on the browser to
check if the user is being directed to the right page after leaving one. Conclusion Ad-hoc
testing's main objective is to find new flaws in the product or specification.
It can be very effective in finding such issues in the hands of a skilled
tester. The advantages and disadvantages of ad hoc testing methods were covered
in detail, as well as their strengths and limitations. One testing method in
particular ensures that a tester's inventiveness will be fully satiated.
Finding ways to capitalise on Ad-hoc testing's advantages and make it valuable
additions to the overall testing process and product quality is important. References 1. Manual
testing - Wikipedia, the free encyclopedia available at
http://en.wikipedia.org/wiki/manual testing 2. Roger S.
Pressman (2005)," Software engineering a practioner's approach 6/e" 3. Pankaj
Jalote, An Integrated Approach to Software Engineering, Narosa Publishing House 4. Aditya
P.Mathur.,"Foundation of Software testing",Pearson Education 1st
edition. 5. Shivprasad Koirala , “Software Testing”, BPB Pulications. 6. Ian Sommerville “Software Engineering” Pearson Education. |