Functional testing is carried out to define how a component or system meets the set functional requirements described in specifications.
This type of testing can be done on all testing levels: component, integration, system and acceptance testing, i.e. on all stages of software development.
Phases of functional testing:
- Analysis of initial data (technical requirements) and negotiation of testing plan, test cases, project timescales and the number of iterations
- Performing functional tests in accordance with test scenarios, adding detected bugs to the bugtracking system
- Preparing a report on the carried out testing, providing recommendations on how to improve the tested system
The testing tools we use:
For functional testing we use such tools asTeamCity, Selenium, Web Driver, Firebug, XPather, IE Developer Toolbar, JUnit, JMeter, VMWare, TestLink and other, as well as Bugzilla, Mantis, Jira, XBtrack bug tracking systems.
We conduct functional testings that covers the following testing types:
We test product for proper functioning after amendmends are made to the product functionality.
We also test separate components (inits) of a program for correct functioning.
We test for proper interaction between the components of one system and verify that the data are processed correctly.
We also conduct a cycle of tests to verify product functionality after product build (adding new code or fixing errors in code).
In case of continious integration, product build is made on a daily basis, that’s why smoke testing allows timely detect and remove critical bugs, thus saving time on build testing.
Our team tests software products for security vulnerabilites (in particular, we test connection security, data security and access security).
We conduct system testing to make sure that the integrated and ready for use system meets the described functional requirements.
We test whether clients’ documentation meets the specified requirements (completeness, absence of inaccuracies and ambiguities, project feasibility, etc.).
We check out whether mobile apps work flawlessly on different mobile devices and platfroms.
We analyze resources necessary to install software. We also verify whether a program is registred with OS properly, how it behaves during upgrade and whether it shows problems during deinstallation.
We also test system for failures and its ability to restore in case of a fault.
We test product usability and simplicity by imitating users behaviour or by expert assessment of results of product usability testing conducted by a focus group.
Providing test coverage
We check out how a set of tests meets product requirements and analyze whether the conducted tests cover the entire code of the developed part of a product.