Functional Testing and Design
Overview
Functionality testing is performed to verify that a software application performs the assigned tasks and functions correctly according to the design specifications. Functional testing helps to define the quality level of the implemented software and to decrease the number of defects. Functional testing is a research process, where the focus is to analyse not only the design, but also the behaviour and even probable expectations of a customer. It is also intended to test up to and beyond the bounds defined in the software requirements specification. Functional testing process is considered to be the most important and common part of verification and validation process within software development lifecycle.
Expertise
Qulix positions Quality Assurance as a complex process that includes accurate planning, requires expert analysis and selection of the appropriate software development project methodology, quality assurance at the level of staff and also execution of comprehensive application testing.
Our test engineers analyse the application and develop a comprehensive test plan that describes the strategy used to verify and ensure that a product or system meets its design specifications and other requirements. Test plans include test cases that show a set of variables or conditions under which a tester will determine whether an application or software system meets specifications. Essentially, test case is a combination of initial software state description, user actions description, and final system state (or expected system state) description.
Qulix functional testing process includes several stages:
- Problem statement – this stage includes analysis of functional testing aims and objects;
- Work with requirements – means analysis of the project documentation to reveal any mistakes as well as insufficiency and inconsistency of the requirements described. That stage is often called requirements testing;
- Planning – means estimation of problem scope, description of strategy, and quality metrics planned to be used during testing process as well as tasks distribution between team members and revelation of project risks;
- Tests design – its main purpose is to prepare a set of test cases to be used during test execution stage. These test cases should provide maximal reasonable functionality coverage and ideal coverage of code;
- Test data preparation – description of test business data (used within test cases);
- Test stand preparation – selection of necessary software and hardware to perform functional testing;
- Tests execution – stage at which test cases are executed by QA Engineers to verify system behaviour;
- Report generation – preparation of reports that will provide information about application quality level, detected problems, recommendations, usability issues, etc.
Qulix QA engineers have significant experience in functional tests execution for the following parts of system/process:
- Installation and configuration of an application;
- System interface design;
- Compliance with described and expected business logic;
- Compliance with different supported hardware and software configurations;
- Protection against illegal and inappropriate user actions;
- System security checks;
- GUI usability;
- And others.
Qulix QA team functions as a separate department which offers an opportunity to provide QA services more efficiently and on an urgent basis.
Deliverables
- Graphical statistical reports;
- Quality reports on system intermediary versions;
- Analytical reports on product readiness;
- Produced test documentation (test cases, scenarios, etc.).
Instruments
The following tools are mostly used for change management:
- IBM Rational ClearQuest;
- HP/Mercury TestDirector for Quality Center;
- Jira;
- And others.
ClearQuest is used as a default change management system. Clients may be granted remote system access to monitor the quality of their product in real time.
The following tools are used for test cases design:
- HP/Mercury TestDirector;
- IBM Rational TestManager;
- Excel.
tative via Skype right now.
custom software development company



