Академический Документы
Профессиональный Документы
Культура Документы
Functional Testing is the type of testing done against the business requirements of application. It
is a black box type of testing.
It involves the complete integration system to evaluate the system’s compliance with its specified
requirements. Based on the functional specification document this type of testing is to be carried
out. In actual testing, testers need to verify a specific action or function of the code. For
functional testing either manual testing or automation tools can be used but functionality testing
would be easier using manual testing only. Prior to non Functional testing the Functional testing
would be executed first.
Five steps need to be keeping in mind in the Functional testing:
1. Preparation of test data based on the specifications of functions
2. Business requirements are the inputs to functional testing
3. Based on functional specifications find out of output of the functions
4. The execution of test cases
5. Observe the actual and expected outputs
To carry out functional testing we have numerous tools available, here is the list of Functional
testing tools.
In the types of functional testing following testing types should be cover:
Unit Testing
Smoke testing
Sanity testing
Integration Testing
Interface Testing
System Testing
Regression Testing
UAT
What is non Functional Testing?
The non Functional Testing is the type of testing done against the non functional requirements. Most of the
criteria are not consider in functional testing so it is used to check the readiness of a system. Non-functional
requirements tend to be those that reflect the quality of the product, particularly in the context of the suitability
perspective of its users. It can be started after the completion of Functional Testing. The non functional tests can
be effective by using testing tools.
The testing of software attributes which are not related to any specific function or user action like performance,
scalability, security or behavior of application under certain constraints.
Non functional testing has a great influence on customer and user satisfaction with the product. Non functional
testing should be expressed in a testable way, not like “the system should be fast” or “the system should be easy
to operate” which is not testable.
Basically in the non functional test is used to major non-functional attributes of software systems. Let’s take
non functional requirements examples; in how much time does the software will take to complete a task? or
how fast the response is.
Following testing should consider in non functional testing types:
Availability Testing
Baseline testing
Compatibility testing
Compliance testing
Configuration Testing
Documentation testing
Endurance testing
Ergonomics Testing
Interoperability Testing
Installation Testing
Load testing
Maintainability Testing
Performance testing
Recovery testing
Reliability Testing
Resilience testing
Security testing
Scalability testing
Stress testing
Usability testing
Volume testing
software applications are written as web-based applications to run in an internet browser. Every organization
follows the different testing methodology, hence, the effectiveness of testing these applications also varies
widely. Every organization needs to have an effective functional software testing scenario for ascertaining that
their software products meets business requirements and are producing the expected end-user results.
What is Functional Testing?
Functional Testing means, to test the software application against the business requirements to ensure that all
features are functioning as expected. As the users are now vertically focused, therefore, functional testing is
executed based on the user’s perspective to confirm optimum coverage and minimize the risk of potential bugs.
Functional Testing typically involves black box testing, where quality assurance experts focus only on software
functionality without testing the internal code structure. This type of testing focuses only on software
requirement and specification, i.e. the structure of the system is not considered; only the functionality and
behavior of modules are tested. Functional Testing is critical to any software, as it verifies that it is ready for
release.
What is Selenium?
Selenium is a web testing tool which uses simple scripts to run tests directly within a browser. In simple terms,
“it automates browsers”. It is a portable software testing framework for web applications that provides a
record/playback tool for authoring tests without learning a test scripting language (Selenium IDE).
It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming
languages, including C#, Java, Groovy, Perl, PHP, Python, and Ruby. The tests can then be run against most
modern web browsers. Selenium can be deployed on Windows, Linux, and Macintosh platforms.
Selenium Extensive Features:
Multi-platform support
Multi-browser support
Multiple programming language support
Supports cross browser testing
Support test mobile web applications (through Android and iPhone drivers)
Open Source
automation testing tools, Selenium is an open source testing tool available free with infinite reach and unlimited
capabilities for test automation. Unlike other available tools, selenium can be downloaded directly from its
website.
Selenium Test Suite
1. Record-Playback mode (Selenium IDE): Selenium Integrated Development Environment (IDE) is a
Firefox plugin that allows software testers to record their test scenarios that can be used to develop test cases.
It gives a simple Graphical User Interface (GUI) for recording user actions using, which can be used to learn
how to use Selenium. This is supported only on Firefox browser.
2. Selenium RC: Selenium Remote Control (RC) is a software testing tool that allows writing automated web
application UI tests in any programming language against any HTTP website using any mainstream JavaScript-
enabled browser.
3. Selenium WebDriver: WebDriver comes as an extended version of Selenium RC with superfluous
advantages and addresses many of its limitations. WebDriver extends its support to many latest browsers and
platforms, unlike Selenium IDE. WebDriver makes direct calls to the Web browser and the entire test script is
executed in this manner. WebDriver uses the browsers support and capabilities for automation.
4. Selenium Grid: Selenium Grid is a tool used together with Selenium RC to run parallel tests across
different machines and different browsers all at the same time.
Selenium Test Life Cycle
1. Test Plan
2. Generate Test Cases
3. Run and Debug Test
4. Analyzing Test Results and Report Defects
How to get expertise in Selenium?
At first, learn one of the programming languages like C#, Java, Python etc.
The best resource available to learn Selenium is from their official website
“http://docs.seleniumhq.org/docs”
Learn how to design a more effective automation framework
Discover the various mechanisms used to locate web elements
Cover basic to advanced concepts of WebDriver
Acquire an in-depth understanding of each concept through practical code examples.
Benefits of Selenium:
Selenium offers multiple benefits as compared to other functional testing tools.
Selenium is an open source and thus, there are no license fees involved. It is available for free
download along with its support service. Moreover, it has a large community of developers.
It facilitates to execute regression tests easily and have quick feedback about the application’s status.
It allows running the same set of tests on different browsers to identify functional errors detected in one
browser and not in others.
It facilitates to run the same set of tests on different code branches (and browsers) on the daily basis in
a continuous integration environment.
It allows running multiple tests at the same time running the Selenium server on different ports.
Moreover, it integrates well with popular tools such as Hudson, SauceLabs, Selenium-Grid, QMetry
and others.