Software Testing

In today’s world of complex programming, the importance of testing has increased multifold. It can be disastrous if the software is released without formal testing. It can cause irreparable loss to an organization’s reputation with their users and client base.

Intersoft is a key player in the industry when it comes to testing of the software applications. We have been providing testing services to Fortune 500 clientele including CitiFinancial, MGM Resorts, Prometric, BTL Surpass, AMTdirect, ADB among others and to many ISV’s, for over a decade and a half. Considering our track record, our clients have shown confidence in us and we have been testing mid to large size applications successfully and those applications are live on production.

SOFTWARE TESTERS DO NOT MAKE SOFTWARE THEY ONLY MAKE THEM BETTER

Testing plays crucial role in the lifecycle of a software application. With Intersoft as your testing partner you can be sure of your application to be thoroughly tested before going live. We have successfully helped organizations to get past some of the key challenges that are faced in setting up a software testing practice by providing cost effective and highly reliable testing services. We have worked extensively with ISVs and have helped them by taking complete ownership of the Software Testing Processes and delivering quality software on time.


Functional And Integration Testing

Regression And Day In Life Testing

Functional Automation Testing

Performance Testing

Compatibility Testing

Usability Testing

Test Process Consulting

Testing Center Of Excellence

With an experience of a decade and a half in the industry Intersoft has emerged as a key player when it comes to software testing. With such a vast experience Intersoft has developed a dedicated practice for Software testing, specialized tools, frameworks, methodologies and consulting expertise to enhance testing efficiency and precision, reduce costs and decrease cycle time.

Our testing practices offer a comprehensive suite of software testing ranging from BFSI domain to ISV products. Our strong competency in documentation and analysis complement our capability to be productive in a short time. We use a risk-based prioritization approach and mainly focus on defect prevention by designing test strategies around the entire development life cycle and implementing optimized test plans.



We have a responsive and agile mindset that provides a focused "On Time, Every Time" approach to each engagement resulting in customer satisfaction and repeat business. We have a proven track record of delivering on-time and on-budget fixed bid projects.

With the use of an established testing methodology and employment of a wide range of industry-standard testing tools that leverage organization with superior software quality, Intersoft Data Labs has enhanced business readiness and real competitive advantage.

TESTING METHODOLOGIES

With time many testing methodologies have been developed in Software industry. Some of them are quite successful and result oriented where as some have become obsolete due to frequent changes in the Software industry. Intersoft majorly practices three methodologies and the decision to use a specific methodology is taken after considering the requirements of the software and nature of the project. The testing methodologies practiced at Intersoft are :

V-Model

Agile Model

Testing Application Model

V-MODEL

It is one of the most widely used software development model. It has proven that implementation of testing right from the requirement phase reaps rich results. It is considered as an extension to the Water fall model. Instead of following a linear approach, as was followed in water fall model, in V-Model the processes are bent upwards to form a typical V shape. This model is also known as Verification and Validation model.

Verification : It is a static process where requirements are analyzed. No code is executed during verification. Following are the key aspects of verification :

  • Requirement Analysis
  • System Design
  • Architecture Design
  • Module Design

Validation : It is a dynamic process where code is executed to validate the implementation of requirements. Following are the key aspects of Validation :

  • Unit Testing
  • Functional Testing
  • Integration Testing
  • System Testing
  • User Acceptance Testing
  • Release Testing

Agile Model

The term “Agile” is self-explanatory. True to its meaning agile methodology provides flexibility in the entire Software Development Life Cycle (SDLC). Testing starts as early as possible and as often as code becomes available and stable enough from module/unit level testing. It is a methodology that promotes continuous iteration of development and testing throughout the software development life cycle of the project. Software is developed and tested in incremental rapid cycles called iterations or sprints. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is not compromised. The diagram on the right side explains the basic agile process.

There are two prominent types of Agile testing methodologies and Intersoft use both depending on the requirements and nature of the project :

  • Scrum Testing
  • Extreme Programming (XP)

TESTING APPLICATION MODEL FOR CURRENT (EVOLVING) SYSTEM

Intersoft follows the “Application Testing Life Cycle Model” for testing the evolving systems to ensure quality testing of the application under test and make the application highly reliable before it goes live. There are following phases in the application life cycle :

  • Requirement Phase
  • Test Planning Phase
  • Test Design Phase
  • Test Environment Set up Phase
  • Test Automation Phase (if automation is intended for the project)
  • Test Execution and Defect Tracking Phase
  • Test Reports and Acceptance Phase

WHY DO WE PREFER THE APPLICATION TESTING LIFE CYCLE MODEL?
Intersoft prefers Application Testing Life Cycle Model for the following reasons :


It goes through rigorous formal phases that ensure that the test assets (test plan, traceability, report etc.) are properly documented and maintained so that the same can be reused (if required) with required modification if application goes through any enhancement phase in future.

Reduced testing time (better the documentation, better is the time management as the coverage of every test activity can be tracked backward as well forward).

It ensures improved product quality as there are little chances of anything go unnoticed because of proper and quality documentation.

It improves testing productivity.

Consistent test procedures therefore reduce training cost/time.

It reduces QA costs in the long run.

It ensures High Quality of software testing.

It helps in repeating the test iterations therefore improving the application quality.


TESTING PROCESS FOR AN EXISTING SYSTEM

When it comes to testing of an existing system, Intersoft starts with creating the knowledge base for testing by reviewing the functional requirements from FSD, where business requirements of the system are elaborated from functional point of view. Our team also goes through any available documents regarding the existing functionality. We also study the existing system to gain maximum functional knowledge and prepare understanding documents. We analyze the existing all the provided testing artefacts like test plans and test cases which would be the result of any testing done in the past. After analyzing all the available documents and gathering system knowledge our team at Intersoft creates regression suite to capture the existing functionality of the system when it was handed over.

Why is there a need to create a Regression suite at all?

The purpose of creating a regression suite is to have a set of key findings that are part and parcel of the application and if in future, the system undergoes any changes/enhancements (including the platform Migration/addition of security features) as per the changing business needs the regression functionality must not be broken.

TESTING SERVICES PROVIDED BY INTERSOFT

INTEGRATED SYSTEM TESTING

Integration Systems Testing is very important. After independent components of the system are tested, there is a need of testing these components together to confirm that they are interacting properly or not. Our test team validates the interaction by calling values from different modules and analyzing their results.

DAY IN LIFE TESTING

The Day in Life Testing can be described as the testing in which the application or software is tested under the same conditions as when the application goes live, and real time users would use it. It is performed before the application goes live. Real data, real flows, real transactions and real authorizations are base to such testing.

REGRESSION TESTING

It is performed to test the revised code after fixation of defects or implementation of enhancements requested by the client. It is done to validate that the existing functionality of the software application is not impacted after code revisions and resolution of the defects.

FUNCTIONAL TESTING

It is validation of the requirements of the application. It is done to ensure that the all the functionality implemented by the Dev team is working as expected. It is done through running of the test cases which are created keeping the software requirements in consideration.

FUNCTIONAL AUTOMATION TESTING

The scope of functional automation testing is the same as of the functional manual testing. The difference is that while in manual functional testing the test cases are run by human resources and in functional automation testing the test cases are run by automation tool, where manual intervention is required for a considerably less time.

PERFORMANCE TESTING

It is also called non-functional testing. This is done to test non- functional aspects of a software application like the load taking capacity of the application, speed of the application or we can say that it is to test the system’s response and stability which is different from its functionality.

USABILITY TESTING

Usability testing is to evaluate software by representatives of real users. During this test the observers keep on observing, listening and taking notes of the user actions to identify usability issues and collect quantitative and qualitative data.

COMPATIBILITY TESTING

Compatibility testing is conducted to evaluate the application’s compatibility with different browsers, hardware, operating systems and databases.

CHALLENGES AND HOW INTERSOFT MITIGATE THEM


AMBIGUOUS REQUIREMENTS

Software requirements are sometimes vague and are not easy to interpret. By virtue of its rich experience in testing domain, Intersoft has developed a sound mechanism to mitigate this challenge. We work on onshore-offshore model where our representatives at onshore have continuous interaction with the business to get clarity on requirements. Calls between onsite and offsite teams are scheduled on regular basis to make the offsite team understand the requirements. Offshore team prepares clarification logs which are regularly shared with the onsite team. Onsite team then, provides answers for the clarifications.

POOR DOMAIN KNOWLEDGE

With years of experience to its credit Intersoft has accumulated its own knowledge repository which helps mitigate this challenge to some extent. Trainings are regularly conducted for the resources to update them in some specific domain and technology.

PRIORITIZATION OF TEST CASES

Test cases are designed keeping in view the important functionalities. However, each functionality is covered in the test cases, but the test scenarios are prioritized based on the importance of different functionalities.

CREATION OF TEST ENVIRONMENT

Test environment is created after careful analysis of the requirements.

INVOLVEMENT OF MULTIPLE SYSTEMS

Brainstorming sessions are conducted wherein testers and developers help each other with knowledge sharing. Separate sessions are held for providing business knowledge to the resources.

UNCERTAINTY OF CODE COVERAGE IN TEST CASES

To mitigate this challenge, Intersoft has implemented a robust review mechanism. Test scenarios and test cases are thoroughly reviewed by the test managers or test leads.


TEST PROCESS CONSULTANCY

Intersoft helps other test organizations to optimize their testing and QA process by evaluating them with the benchmark standards of the software industry. We analyze the organizations test structure and identify the gaps which cause failure of testing and QA processes. After analyzing these gaps, we provide technical and non-technical assistance to the organizations and guiding them towards a more robust testing and QA structure. In the process following are the areas that are generally covered:

  • Analysis of existing QA and Testing teams
  • Methodologies and processes followed by the QA and Test teams
  • Guidance on test plans and strategies
  • Guidance on creation and execution of test scripts

TESTING CENTER OF EXCELLENCE

Intersoft’s Testing Center of Excellence helps other test organizations. The framework of Intersoft’s Testing Center of Excellence enables other organizations to establish robust Testing and QA processes which are tried and trusted over a period of time. Intersoft is committed to provide quality products and help other organizations to be able to achieve the same. As we have discussed earlier the importance and role of testing domain in software industry, it is very important for a testing organization to have excellent, dedicated and experienced resources.

  • A strong testing methodology with well-defined phases
  • Specialized industry focused testing solutions
  • Ready to deploy frameworks to enable you reap results quickly and efficiently
  • Matrices of different types required to trace requirements
  • Effective knowledge management processes
  • Tested and tried experienced testing resources
  • A spectrum of automation and test management tools
  • End-to-End test management and ownership models
  • Various testing templates to have unambiguous direction

DEFECT TRACKING AND TEST MANAGEMENT TOOLS

Intersoft has vast hands on experience in using industry recognized defect management and test management tools. Pointers below will give you a fair picture of the tool expertise with Intersoft:

  • Microsoft Test Management (MTM)
  • Team Foundation Server (TFS)
  • Quality Center
  • Jira
  • Bugzilla
  • QA Complete (Smart Bear)
  • Zen Desk