Testing & Validation

Software Testing Compliance & Assurance

We leverage proven, industry accepted and in-house developed tools and accelerators to drive our testing services across the software lifecycle.
Our dedicated & experienced team of specialists ensures that the software meets the end-user needs and gives an edge by enabling faster time-to-market.
In order to maintain quality objectives, we have setup Testing Center of Excellence (TCoE) which is a federal unit comprising testing processes, people, tools that operate as shared services in order to provide testing services with optimal benefits across the vertical.

testing

Core Landscape of TCoE includes:

Nimble’s Testing Centers of Excellence comprise of best practices, process, tools and expert manpower for all focused area offered through our specialized testing services offering:

  • Best Practice Pool
  • Integrated Testing Process
  • In-house Automation Framework
  • Agile & Flexi Model
  • Rich Pool of SMEs
  • Periodic Process Audit
  • Focused Documentation

Our Specialized Testing Services are focused to cover entire segment domains and industry. We have vast experiences and expertise to offer testing services for cloud based testing, embedded device testing, security testing, functional automation, performance testing, mobile testing, data migration testing, user acceptance testing.

Our Testing Services

White Box Testing

White box testing is also known as structural testing, clear box testing, and glass box testing. It takes into account the internal mechanisms of a system or component. White box testing provides the full visibility of the internal workings of the software product, including the logic and the structure of the code.

Our engineers are experienced in:

  • Designing test cases that verify independent paths within a module/unit
  • Verifying logical decisions that involve both true and false conditions
  • Executing loops at their boundaries as well as within their operational limits
  • Exercising internal data structures to ensure data validity and consistency

The advantages of executing white box testing include:

  • Testing can commence early in the development cycle
  • Testing is very thorough, and this reduces late defects and increases product reliability and release readiness

Black Box/ Functional testing

Black Box/ Functional testing is a quality assurance (QA) process and a type of black-box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered (unlike white-box testing). Functional testing usually describes what the system does. This form of software testing requires the test engineers to test the functionality of the system according to specifications. Unlike white box testing, there is no need to have knowledge of the internal working of the system, or how the logic is implemented. The engineers in this testing approach are proficient in creating test plans and test cases, resolving traceability matrices, and certifying releases from the end user perspective.

testing

Automated Functional testing

Automated Functional testing is a process in which commercial or open source automation tools or framework execute pre-scripted tests on a software application before it is released into production. In other words, Automation testing is a technique uses an application to implement entire life cycle of the software in less time and provides efficiency and effectiveness to the testing software.

Automation testing uses automation tools to write and execute test cases, no manual involvement is required while executing an automated test suite. Usually, testers write test scripts and test cases using the automation tool and then group into test suites.The main goal of Automation testing is to increase the test efficiency and develop software value.

Automation Framework Approach

A test automation framework is an integrated system that sets the rules of automation of a specific product. This system integrates the function libraries, test data sources, object details and various reusable modules. These components act as small building blocks which need to be assembled to represent a business process. The framework provides the basis of test automation and simplifies the automation effort.

The main advantage of a framework of assumptions, concepts and tools that provide support for automated software testing is the low cost for maintenance. If there is change to any test case then only the test case file needs to be updated and the driver Script and startup script will remain the same. Ideally, there is no need to update the scripts in case of changes to the application.

Choosing the right framework/scripting technique helps in maintaining lower costs. The costs associated with test scripting are due to development and maintenance efforts. The approach of scripting used during test automation has effect on costs.

Open Source technologies
  • Based on open source products like Protractor, Jasmine, Appium
  • Easier to extend and maintain
Multi Browser Support
  • Supports Chrome, Firefox, IE, PhantomJS
  • Can run same tests parallely in multiple browsers
Continuous Deployment
  • Integrates well with TeamCity & GO-CD
  • Ability to group tests in suits
Mobile Automation
  • Works on browsers on Android and iOS devices
  • Supports mobile application testing
Reporting
  • Provides JSON, XML, HTML based reports
  • Enables customizations by writing plugins
Architecture
  • API Based Automation instead of Script based automation
  • Testers insulated from Page object level changes
  • Closer to development

Security testing

Security testing helps determine that the software is protected from data breaches and threats to system stability. Our testing ensures system confidentiality, system integrity, system availability be preventing denial of service, and ensuring proper system authentication, authorization and non-repudiation.

Our ‘Software Security Services’ aligns security strategies with organizational strategies to improve and sustain the organization’s resiliency. We evaluate, design and implement, robust and cost effective security testing in the following areas:

  • Web Applications security testing
  • Database security testing
  • Network security testing
We do consider OWASP Top 10 as the base standard for general security testing of a web application.

testing

Performance testing

Performance testing is aimed at determining the behavior of the system both in terms of responsiveness and stability when subjected to a particular work load. It can also serve to measure, validate or verify other attributes such as scalability, reliability and usage of system resources.
Our qualified performance testing specialists can help with the following types of performance testing:

Load Testing

A specified load of usage is applied onto the system and the identified key performance indicators are measured. A detailed analysis of these KPIs identifies the performance bottlenecks.

Stress Testing

This is done to understand the upper limits of capacity of the system, and it can help determine the system’s robustness in cases of extreme load.

Endurance testing

This is done to determine that the system can sustain continuous expected load. This test also helps identify potential memory leaks and possible degradation in system performance over a period of time.

Spike Testing

This is aimed at determining the system behavior when sudden increases of load or the number of users for the system are applied. This mode of testing helps determine whether there will be system performance deterioration in such cases.

Configuration Testing

This is done to validate the changes in system performance when various possible configurations are tried in which it will be used. This helps to ensure that the software is stable and consistent under different configurations.

Isolation Testing

This form of testing helps identify and isolate a particular system problem and helps in deriving solutions that cause such problems.

User acceptance testing (UAT) is the last phase of the software testing process. During UAT, actual software users test the software to make sure it can handle required tasks in real-world scenarios, according to specifications.

This involves validation of system software conforming to user specifications. This testing is driven by user requirements that are typically fluid and subject to change. User acceptance testing involves creation of business scenarios, getting due approvals from clients and validating the system against the scenarios. This team acts as an extended arm for our clients to provide them with the necessary expertise by developing test plans, creating business scenarios and use cases, validating the system conformance, and facilitating user sign-off.

REACH US