Quality Assurance & Testing
Quality management is often a synonym for the formal activities used in testing such as audits and certifications. But if we offer these activities to a customer, to his real demands and to growing effects to quality of deliveries, then it starts to have some added value to software developers.
Reliable and stable applications are important for efficient achievement of business objectives. By choosing an appropriate solution, Success-Quality can help you to minimize costs, verify the quality of systems and reduce the risks associated with the production operation of these systems.

On the field of software quality assurance and testing, we offer full range of services as:

trainings
consulting and technology services
performing manual and automation tests
outsourcing
full nearshore and offshore outsourcing

Success-Quality accommodate the demands of customers by choosing individual cost model of our services such as:

personal leasing
workpackage model
project model (cocomo)
pipe-line model
service outsourcing

All services may be performed directly on-site or remotely from our premises through a secure connection (VPN / SSL). This allows to reduce costs or solve problems with lack of space for the test team at customer's premises. Sometimes such a way to work remotely is useful for load testing of applications which can be accessed directly from the Internet.

Types of testing performed

When performing the testing, we focus on high-level testing, particularly using tools to support the implementation and the actual testing. The basic types of testing in our portfolio include:

Manual functional testing
Automated functional testing
Performance testing
Security penetration testing
Consulting & Testing Services
All employees of our company are professionals. Our company dispatches an experienced team in different testing areas. We also offer consulting in the area of control and running of tests, setting and monitoring of information systems. Our consulting services includes all main business areas (Finance, Telco, Public..). Also it offers technologies for support and test running.
Individual types and consultancy rules are specified and defined on the basis of contracts between the Ordering party and our Company.

We are able to provide consultancy in the following areas:

QA Management
Software Quality Management in order to achieve low costs and high efficiency, maintain the quality of delivery and meeting deadlines
Requirements Management
Defining and managing requirements is the first prerequisite for successful goal achievement
Testing Methodology
Implementing and monitoring of testing process compliance with rules and procedures in relation to other processes
Test Management
Planning, management and control of the testing process
Business Test Analysis
Analysis of business processes for testing to determine optimal testing strategies
Software Testing Execution
Design, implementation and evaluation of manual and automated tests
Performance / Load Testing
Preparation, execution, monitoring and evaluation of automated load tests
Security / Penetration Testing
Execution of security tests for applications, systems and network infrastructure. Specific tests include penetration testing of web applications.
QA Management
Quality management is often a synonym for the formal activities used in testing such as audits and certifications. But if we offer these activities to a customer, to his real demands and to growing effects to quality of deliveries, then it starts to have some added value to software developers. It also has added value to customers which are using this software.
Majority of companies when they are going to deliver project are using criteria such as:

Costs / Price
Amount of delivery
Dead-line

Project risks not handled as a standard thing put all the three, or some of the above-mentioned criteria, in threat.
As it is quite easy to check the criteria in many cases, results of not handled risk must appear somewhere. Usually it is a quality of final supply.

Our specialists are specialised in monitoring the quality of SW applications and Quality management processes of SW projects.
They`ll help you with the measuring and administration of quality with your projects. They can also help you with running your SW applications.

Software quality assurance (QA)

Software Quality Assurance seeks to ensure that the project was fully implemented in accordance with predetermined specifications, standards and functionality required without defects and possible problems. The QA monitors and seeks to improve the application development process. QA is generally based on the principle of "prevention".

Software Quality Assurance can be defined as a planned and systematic approach to quality assurance and compliance with the standards set for software products, processes and procedures. QA involves a process that ensures compliance with established standards and practices throughout the life cycle of software development or software procurement. Compliance with agreed standards and procedures is evaluated through process monitoring, product evaluations, audits and testing.

QA should be included in projects since their start. This will help teams communicate, understand and adjust the processes needed for quality management software and will allow for the preparation of test tools, test environment and their configuration.
Testing Methodology
Testing as one of the base quality assurances is systematic activity. It has some basic methodical procedures. By using these procedures and using business requirements you can assure the quality of SW in several ways:

Function testing: check of compliance between the SW application functions and customer`s requests
Performance testing: Check of application`s performance in operation mode
Security testing: Check of the application on various potential interventions in safety of operation and data in application

Generic testing process

Each cycle of testing takes place in several stages. We can divide them in preparation, execution and an evaluation phase, while the type of testing may include the following activities:

Requirements management
Analysis of the requirements for the application, Defining the requirements for testing, Specification of functional and non-functional requirements, Review of requirements with the release and testing cycle in mind
Test scheduling
Preparation of test cases, Preparation of test scenarios, Preparation of test data, Management of the test environment, Test schedule in accordance with release management
Implementation of functional tests
Execution of manual and automated functional testing, such as system, integration, regression testing, smoke testing, UAT
The execution of stress tests
Usually automated tests to verify system performance and stability under stress (load), with a rigorous monitoring system
Implementation and execution of security tests
Execution of Web application penetration tests (XSS, SQL Injection, etc..) Static and dynamic security testing of infrastructure and systems configuration, verification of authorization and authentication, specialized security tests
Evaluation and interpretation of tests
Analysis of test results, Reporting, Summarizing defects, Checks against the defined KPI
Defect management
The process which starts by finding a defect in the tested system, its recording, reparation and testing of the defect correction
Performance Testing
Performance tests simulate work of a large number of users in a tested application (system) or create a large amount of actions in an information system. This tests include measuring of application performance, response time as well system relation to number of users belong among load testing components.

Advantages of load tests for company

Risk reduction

Predicts application performance under load
Optimizes application performance
Quantifies application capacity

Quality Improvements

Finds performance problems earlier
Tests applications more completely and in short time
Regular documentation of application performance improvement

Basic types of automated load (performance) tests

Load Test - Developing system requirements and measure its latency.
Stress Test - Test shows the system's behavior at its limit load.
Soak Test - Test provides the system's behavior at high load in the long term.
Failover Test - Test verifies the system's backup mechanism under load.
Targeted Infrastructure Test - Isolated test of the selected layer or component of the infrastructure.
Performance Test - Test provides a measurement of system's end-points for critical business processes.
Network Sensitivity Test - Stress tests aimed at limits and network activity over the WAN.
Volume Test - This test measures the throughput, the use of system resources, or measures the activity of data drives.

Example of Stress Test:
Testing Tools
For load test automation, the following testing tools can be used:

HP LoadRunner
Micro Focus / Borland SilkPerformer
IBM Rational Performance Tester
Security Testing
In security testing, the testing revolves around possible intrusion or interference in the system and data manipulation at the tested system's infrastructure level, as well as operating systems level or the privileges arising out of user roles in applications. These tests check the protection of data against misuse, damage and destruction, accidental loss, alteration, unauthorized access and disclosure, as well as against any other irregular forms of data processing.

Penetration testing of web applications

The penetration test of web applications is a specific security test. Such infiltration testing of web applications helps to identify problems with:

the weaknesses and dangers in your Web application
known and unknown vulnerabilities in applications to counter the threat until the security company does not provide an appropriate solution
technical vulnerabilities: URL manipulation, SQL injection, cross site scripting, back-end authentication, password in memory, session hijacking, buffer overflows, web server configuration, certificates management etc.
business risks: Day-to-Day threat analysis, unauthorized logins, changes to personal information, change of price lists, unauthorized transfer of capital, loss of consumer confidence
Test Automation
A tool for automated testing will carry out test scripts, will register results of individual test and will record any deviations from testing (usually a screen shot and description of the defect). Whether manual or automated testing is efficient, it depends on many conditions:

Is it a single or repeated deployment of the same application keeping a big part of the functionality?
What is the scope of changes expected in the coming period?
Does a tool available for automated testing support the technological platform of the application?
If you are interested in a possibility of automated testing in your company we will provide you all the necessary information for your right decision.

Comparison of the effectiveness of manual and automated testing:

Automated tests significantly shorten the time of test cycles
Automated testing shortens the whole development process
Automated tests allow using more test data in data execution
Automated tests allow using test data to control tests (data driven testing)
Offshore and Nearshore Outsourcing
Our testing solutions in development projects embrace a suitable combination of low-cost offshore and nearshore sources and Slovak management in order to achieve the best results possible.

Cooperating with Success-Quality you will have a partner for software testing who will help you make not only the first step but we will also keep you firmly on the ground when using a testing solution that saves costs and also the time needed for launching a product on the market.

We offer you our services in taking full responsibility for all activities leading to quality assurance of the developed software and its customer-side testing based on a pre-defined SLA (Service Level Agreement).

Benefits of working with our company through outsourcing (Full Outsourcing Engagements):

Improving the quality and value of developed software
Reduce the costs of the overall software development cycle
Ensure timely delivery of software products and services
Possible flexibility of the test team
Increasing the efficiency of the entire development team
Technology Services
Projects of testing are based on proved methodologies and procedures for software testing, or we adapt to methodologies, which are used by our customers. Our methodological procedures for software testing are independent on testing tools, however our practical experience shows that usage of the supporting tools for testing control and testing by our customers increase the quality and accelerate the testing.

In order to test information systems our company usually uses tools and technologies from the following companies:

Borland (A Micro Focus Company) - for example SilkCentral tools, SilkPerformer, SilkTest
Hewlett-Packard - tools such as Quality Center, QuickTest Pro, LoadRunner
IBM - tools such as Rational ClearQuest, Functional Tester, AppScan

We also use our own interfaces (for example based on Python) and the most widely used Open Source tools:

OpenSTA
JMeter
Selenium
Testing Team Outsourcing
We can offer several types of information systems test running and handling tests to our customers and partners in the area of outsourcing services. We`re able to offer testing professionals and whole test teams comprised of:

Test Manager
Test Architect, Test Analyst
Tester for manual test execution
Technological tester for automated functional testing
Technological tester for load/stress testing and information systems monitoring
Security tester