Anda di halaman 1dari 7

Manual testing

From Wikipedia, the free encyclopedia


Jump to: navigation, search
Compare with Test automation.
Manual testing is the process of manually testing software for defects. It requires a tester to play
the role of an end user, and use most of all features of the application to ensure correct behavior.
To ensure completeness of testing, the tester often follows a written test plan that leads them
through a set of important test cases.
Contents
1 Overview
2 Stages
3 Comparison to Automated Testing
4 References
5 See also
Overview
A key step in the process of software engineering is testing the software for correct behavior
prior to release to end users.
For small scale engineering efforts (including prototypes), exploratory testing may be sufficient.
With this informal approach, the tester does not follow any rigorous testing procedure, but rather
explores the user interface of the application using as many of its features as possible, using
information gained in prior tests to intuitively derive additional tests. The success of exploratory
manual testing relies heavily on the domain expertise of the tester, because a lack of knowledge
will lead to incompleteness in testing. One of the key advantages of an informal approach is to
gain an intuitive insight to how it feels to use the application.
Large scale engineering projects that rely on manual software testing follow a more rigorous
methodology in order to maximize the number of defects that can be found. A systematic
approach focuses on predetermined test cases and generally involves the following steps.
[1]

1. Choose a high level test plan where a general methodology is chosen, and resources such
as people, computers, and software licenses are identified and acquired.
2. Write detailed test cases, identifying clear and concise steps to be taken by the tester,
with expected outcomes.
3. Assign the test cases to testers, who manually follow the steps and record the results.
4. Author a test report, detailing the findings of the testers. The report is used by managers
to determine whether the software can be released, and if not, it is used by engineers to
identify and correct the problems.
A rigorous test case based approach is often traditional for large software engineering projects
that follow a Waterfall model.
[2]
However, at least one recent study did not show a dramatic
difference in defect detection efficiency between exploratory testing and test case based
testing.
[3]

Testing can be through black-, white- or grey-box testing. In white-box testing the tester is
concerned with the execution of the statements through the source code. In black-box testing the
software is run to check for the defects and is less concerned with how the processing of the
input is done. Black-box testers do not have access to the source code. Grey-box testing is
concerned with running the software while having an understanding of the source code and
algorithms.
[citation needed]

Static and dynamic testing approach may also be used. Dynamic testing involves running the
software. Static testing includes verifying requirements, syntax of code and any other activities
that do not include actually running the code of the program.
Testing can be further divided into functional and non-functional testing. In functional testing the
tester would check the calculations, any link on the page, or any other field which on given input,
output may be expected. Non-functional testing includes testing performance, compatibility and
fitness of the system under test, its security and usability among other things.
Stages

This section may stray from the topic of the article into the topic of another article,
Software Testing. Please help improve this section or discuss this issue on the talk page.
There are several stages. They are:
[4]

Unit Testing
This initial stage in testing normally carried out by the developer who wrote the code and
sometimes by a peer using the white box testing technique.
Integration Testing
This stage is carried out in two modes, as a complete package or as an increment to the
earlier package. Most of the time black box testing technique is used. However,
sometimes a combination of Black and White box testing is also used in this stage.
Software Testing
After the integration have been tested, software tester who may be a manual tester or
automator perform software testing on complete software build. This Software testing
consists of two type of testing:
1. Functional(to check whether SUT(Software under testing) is working as per the
Functional Software Requirement Specification[SRS=FRS+NFRS(Non-Functional
Requirements Specifications)] or NOT). This is performed using White Box testing
techniques like BVA, ECP, Decision Table, Orthogonal Arrays. This Testing contains
four Front-End testing(GUI,Control flow,Input Domain, Output or Manipulation) and one
Back-End testing i.e. Database testing.
2. Non-Functional Testing /System Testing/Characteristics Testing(to check whether SUT is
working as per the NFRS, which contains characteristics of the Software to be developed
like Usability, Compatibility, Configuration, Inter System Sharing, Performance,
Security)
System Testing
In this stage the software is tested from all possible dimensions for all intended purposes
and platforms. In this stage Black box testing technique is normally used.
User Acceptance Testing
This testing stage carried out in order to get customer sign-off of finished product. A
'pass' in this stage also ensures that the customer has accepted the software and is ready
for their use.
Release or Deployment Testing
Onsite team will got to customer site to install the system in customer configured
environment and will check for the following points:
1. Whether SetUp.exe is running or not.
2. There are easy screens during installation
3. How much space is occupied by system on HDD
4. Is the system completely uninstalled when opted to uninstall from the system.
Comparison to Automated Testing
Test automation may be able to reduce or eliminate the cost of actual testing. A computer can
follow a rote sequence of steps more quickly than a person, and it can run the tests overnight to
present the results in the morning. However, the labor that is saved in actual testing must be
spent instead authoring the test program. Depending on the type of application to be tested, and
the automation tools that are chosen, this may require more labor than a manual approach. In
addition, some testing tools present a very large amount of data, potentially creating a time
consuming task of interpreting the results.
Things such as device drivers and software libraries must be tested using test programs. In
addition, testing of large numbers of users (performance testing and load testing) is typically
simulated in software rather than performed in practice.
Conversely, graphical user interfaces whose layout changes frequently are very difficult to test
automatically. There are test frameworks that can be used for regression testing of user
interfaces. They rely on recording of sequences of keystrokes and mouse gestures, then playing
them back and observing that the user interface responds in the same way every time.
Unfortunately, these recordings may not work properly when a button is moved or relabeled in a
subsequent release. An automatic regression test may also be fooled if the program output varies
significantly.
References
1. ^ ANSI/IEEE 829-1983 IEEE Standard for Software Test Documentation
2. ^ Craig, Rick David; Stefan P. Jaskiel (2002). Systematic Software Testing. Artech
House. p. 7. ISBN 1-58053-508-9.
3. ^ Itkonen, Juha; Mika V. Mntyl and Casper Lassenius (2007). "Defect Detection
Efficiency: Test Case Based vs. Exploratory Testing". First International Symposium on
Empirical Software Engineering and Measurement. Retrieved January 17, 2009.
4. ^ "Testing in Stages Software Testing|Automation Testing|Interview Faqs||Manual
Testing Q&A". Softwaretestinginterviewfaqs.wordpress.com. May 30, 2009. Retrieved
July 18, 2012.





Notable test automation tools
Tool name Produced by
Latest
version
AutoIt
Jonathan Bennett &
AutoIt Team
3.3.8.1
Cucumber Open Source 1.0.2
eggPlant TestPlant 2012
EiffelStudio AutoTest Eiffel Software
7.1, Jun
2012
FitNesse Open Source v20111026
HP QuickTest
Professional
HP Software Division 11.5
IBM Rational
Functional Tester
IBM Rational 8.3.0
LabVIEW National Instruments 2011
Maveryx Maveryx 1.3.1
Oracle Application
Testing Suite
Oracle Corporation 12.1
QF-Test
Quality First
Software GmbH
3.5.2
Ranorex Ranorex GmbH 4.0.5
Rational robot IBM Rational 2003
Robot Framework Open Source 2.7.5
Selenium Open source 2.33.0
Sikuli Open Source 1.0.1
SilkTest Borland 14.0
Soatest Parasoft 9.5
TestComplete SmartBear Software 9.1
Testing Anywhere
Automation
Anywhere
8.0
TestPartner Micro Focus 6.3
Test Studio Telerik 2012
Time Partition
Testing (TPT)
PikeTec GmbH 4.2
TOSCA Testsuite
TRICENTIS
Technology &
Consulting
7.5.0
Visual Studio Test
Professional
Microsoft 2012
Watir Open Source 3.0




List of GUI testing tools
From Wikipedia, the free encyclopedia
Jump to: navigation, search
GUI testing tools serve the purpose of automating the testing process of software with graphical
user interfaces.
Open Source GUI testing tools
AutoHotkey
CubicTest is a graphical Eclipse plug-in for writing Selenium and Watir tests.
Dogtail by Red Hat
Dojo Objective Harness is a Web UI testing framework from Dojo, similar to Selenium.
Jemmy java GUI testing tool used on Netbeans project. Can be used on Swing, SWT or JavaFX
GUIs.
Linux Desktop Testing Project by freedesktop.org (Cross platform GUI testing)
Maveryx is an automated functional testing, regression testing, GUI testing and data-driven
testing tool.
QAliber by QAlibers, free open source for testing applications and web over windows OS
Selenium for Web UI testing
Sikuli for testing any GUI based upon screenshots
Robot Framework via Selenium, Sikuli and other Libraries
Watir browser driver for web UI testing
Xnee Recorder and replayer for X Window System
This list is incomplete; you can help by expanding it.
Proprietary GUI testing tools
AutoIt Microsoft Windows GUI Testing. Free of charge but not open source.
eggPlant by TestPlant Ltd
GUIdancer by Bredex, for Java (Swing, RCP/SWT, GEF), HTML, .NET and iOS GUI-test automation.
HP QuickTest Professional by Hewlett-Packard (formerly by Mercury Interactive)
HP WinRunner by Hewlett-Packard (formerly by Mercury Interactive)
IBM Rational Functional Tester by IBM
IcuTest GUI unit testing for WPF
Infragistics TestAdvantage
iMacros
Microsoft Windows SDK includes optional stand-alone install of Object Inspector (Inspect32) for
Microsoft Active Accessibility API Inspection test. Free of charge as part of SDK but not open
source.
Microsoft Visual Studio includes the Coded UI Tests feature which allows you to write unit tests
for GUI based applications (Only Ultimate and Enterprise versions).
QF-Test by Quality First Software, for Java/Swing, Eclipse/SWT and HTML only
Ranorex automated testing software for web, desktop and mobile apps
RIATest for Flex
SilkTest by Micro Focus International (formerly by Segue Software then Borland)
Soatest (absorbed WebKing starting in version 6.0) by Parasoft
Squish, object-based cross-platform, cross-GUI-technology testing
Test Automation FX Windows UI testing with Visual Studio
TestComplete by SmartBear Software
Testing Anywhere by Automation Anywhere
TestPartner by Micro Focus
Test Studio by Telerik
TOSCA Testsuite by TRICENTIS Technology & Consulting
Twist by Thoughtworks
This list is incomplete; you can help by expanding it.