Testing conducted to validate that all functions of an application perform correctly in its intended operating environment; and that it conforms to its designed specifications. Functional testing involves conducting a range of tests based on customized scenarios to validate the application’s behavior on a feature to feature basis, using valid, erroneous and random input data.
Systems and Integration Testing
Testing conducted on an integrated or complete system to validate its conformance to designed specifications. System testing helps discover defects and issues that come up as a result of the integration of individual application components, programs or systems; though the units may perform correctly by themselves. The testing involves conducting a range of tests based on customized scenarios to validate the entire system’s behavior on a feature to feature basis, using valid, erroneous and random input data.
Usability testing involves performing and measuring the output of a series of tasks conducted by representative users of an application or product in an effort to gauge the product’s ease-of-use, intuitiveness, task time and user experience. This testing focuses on usability of the application as opposed to its features and functionality. Problem areas are identified and recommendations made for improvement.
User Acceptance Testing
User Acceptance Testing (UAT) is performed to check if the application or system delivers on what was requested as part of the ‘Business or user requirements’. The ‘Business or user requirements’ are separate from the application’s ‘specifications’, which is a set of criteria derived to meet the requirements. Conformance to designed specifications does not mean the business or user requirements are fulfilled. UAT is typically performed by the end users of the systems and may be managed by an independent third party QA specialist to validate internal or vendor developed application or systems.
Testing conducted to verify if an application is compatible and functions correctly across all supported software and hardware operating environments including configurations and combinations. Some common types of compatibility testing include web browsers, operating systems (OS), service patches, hardware configurations etc.
Testing conducted using special test automation software and automated test scripts to perform regression tests in a consistent and repeatable fashion. Automated testing helps reduce the time and resources required to perform testing. It is also used as a means of performing a range of sanity tests for each release of an application to ensure no new issues have come up.
Performance/ Load testing of a system attempts to evaluate its ability to meet required performance levels while helping identify performance issues and bottlenecks under normal conditions of utilization (e.g. as the load increases, response times may degrade to unacceptable levels). Such testing involves the use of special tools to simulate production level loads and measure performance of various components of the systems.
Stress testing of a system attempts to cause failures and evaluate how the system behaves under extreme operating conditions. The testing causes the system to degrade and eventually fails as conditions become extreme (e.g., very high number of simultaneous users; high volume of database queries; complex queries with an extreme number of conditions etc.).
Testing conducted to ensure that the system meets a range of specified security requirements. This includes testing to ensure known vulnerabilities and deficiencies are plugged, unknown vulnerabilities are discovered, any means of unauthorized access to privileged data or functionality is identified, the system in general is secure from malicious denial of service attacks, and security policies are correctly configured and provisioned.
QA Mentorship and Project Management Consultancy
Software defects can prove to be very expensive for the vendor and the customer whose business might be adversely affected due to such defects. A solid defect free application doesn’t just happen but is the result of a strong quality assurance (QA) process and quality control (QC) practices. Whether a new development setup or a mature product team, our highly skilled and experienced QA principals will help mentor, manage and empower your development, test and project management teams to meet critical business goals, get projects on track and put all the rights things in place to develop defect free applications in a cost effective manner.
QA Strategy and Management Consultancy
Software Quality Assurance (SQA) begins not after an application has been developed but while it’s on the drawing board. It involves structuring people, process and tools throughout the software development lifecycle in a manner which will result in a higher quality product, early detection of issues and provide the confidence of a solid defect free application.
SQA is not exclusive activity of test engineers but forms a part of the work of design, development and project management teams as well. QA Strategy and Management Consulting, involves assessing quality goals from a strategic perspective, identifying risk, developing detailed test plans to achieve those goals, identifying the right tools, people and then overseeing execution to ensure those goals are achieved and constant improvements are made.