N-44, Ground Floor, 11th Cross,
9th 'B' Main, LIC Colony,
J B Nagar, Bangalore - 560 075

Independent Verification & Validation:

Business IT environments are under constant transformation due to stringent regulatory requirements, higher complexity applications and the disastrous impact of application downtime. This increases the need for high quality and through testing of the application software.
eFlow Gurukul Solutions´s IV&V Group provides validation services that ensures lower operational risk due to business disruption & system failure and brings down the time to market through its skilled resource pool, robust processes and effective tool usage. The IV&V Group aims to provide cost-effective, end-to-end, independent, high quality, quick turnaround testing solutions to our customers by utilizing testing best practices and by leveraging the offshore-onsite global delivery model.

Our IV&V services include
Comprehensive IV&V Audit

IV&V Audit examines both project and test components, assuring that the product is built right and the right application is built. Whether you are developing or upgrading, in house or though an outsource partner, let our IV&V audit verify you're getting what you expect.

Project-based Audit

Our Project-based Audit helps clients deliver top quality applications on time and within budget. By ensuring development tasks include specific quality assurance techniques, deficiencies are identified and corrected before they can cause harm.

Third-party Testing

Third-party Testing is critical to the detection and elimination of defects, before users ever experience them. Having eFlow Gurukul Solutions perform the testing provides an independent check and balance to ensure that your organization or outsourcer is delivering a product that will not surprise and frustrate its users at a later time. MORE

Risk Management

Pressure to do more with equal or less resources together with a potentially unbalanced portfolio of projects begs the question, what's the cost of making a mistake? eFlow Gurukul Solutions can help balance your portfolio and assess risks before failures cost you lost share and revenue.

Third-party Testing

Third-party Testing is critical to the detection and elimination of defects, before users ever experience them. Having eFlow Gurukul Solutions perform the testing provides an independent check and balance to ensure that your organization or outsourcer is delivering a product that will not surprise and frustrate its users at a later time.

Many companies often do not have the resources or expertise required to conduct an entire set of tests before accepting custom software from a vendor. Even though a service level agreement may exist between the client and vendor, such agreements do little to reduce the cost and frustration of spending months working to correct bugs when development is not to acceptable levels. Often, vendors still may charge for rework by citing weak or ambiguous requirements that were provided by the client. In the end, the client spends considerably more than planned in time and money just to get the result they expected.

eFlow Gurukul Solutions´s Third-party Testing services save clients money through early error detection and prevention. Our approach to testing drives significant results and substantial savings. And, before accepting software from the development vendor, clients clearly know the state of the application and can make informed decisions around resource leveling, contingency planning, deadlines and user expectations.

Benefits:
  • Identifies requirement issues (missing, ambiguous, unclear) in the early development stages of the application.
  • Provides a checks and balances system that benefits the client and software vendor
  • Saves money and rework time by reducing the number of errors coded in the first place.
  • Verifies that the technical design conforms to the requirements and expectations of the user.
  • Provides the client with an objective view of the readiness of the software at any given time.
  • Reduces the client's workload by having an independent third party test the vendor built application, minimizing the chances a client will sign off and accept problematic software
  • Reduces the number of defects released into production.
Main testing terms, types and activities
  • Manual and automated testing
  • White-box and black-box testing
  • White-box testing activities
  • Black-box testing activities
  • Other activities
Manual and automated testing

Manual testing is still very important and widespread because some kinds of tests cannot be automated (e.g., usability testing can be only automated partially). Moreover, some complicated faults are found by means of manual testing techniques only.

Automation is realized with the help of special testing tools developed by such leading manufacturers as IBM (Rational Robot, Rational Performance Tester), Mercury Interactive (Quick Test Professional, LoadRunner), Segue Software (Silk Software), AutomatedQA (TestComplete), and others.

Sometimes it is necessary to use specialized automation tools, for example, for unit or code style testing.

White-box and black-box testing
  • Black-box testing
  • Black-box testing implies that a tester doesn't know how an application is designed at the code level, i.e., it involves dynamic testing of compiled applications. The tester interacts with the software system via its interface and analyzes the application reaction. Therefore black-box testing is one of the most popular testing

    types as: 1) It doesn't require access to the code, algorithms, and internal data structure (all of them can be a closely guarded trade secret of a software development company); 2) It gives an opportunity to test software products from the point of view of the end-user.
  • White-box testing (also called glass-box or clear box testing)
  • In this case a tester knows the internal program structure and its code. As a result, the tester can execute each program statement and function; check each intended error handling, etc. This testing involves source code reviews, walkthroughs, as well as design and execution of tests based on the access to the program code. White-box testing requires deeper knowledge of programming languages and technologies than black-box testing.

Main white-box testing activities
  • Code testing
  • The task of code testing is to test program classes, functions, modules as separate code units and check their interaction. As a rule, it is accompanied by development of special test classes, start functions, test data sets (including illegal/invalid data), design and execution of appropriate test cases.

  • Static testing
  • Static testing takes place without running an application or its modules. It can include source code reviews, code inspections, and software walkthroughs.

  • Code style testing
  • This type of testing involves the code check-up for accordance with development standards: the rules of code comments use; variables, classes, functions naming; the maximum line length; separation symbols order; tabling terms on a new line, etc.

Black-box testing activities
  • Functional testing
  • It is testing of application functionality and examination of its compliance with the software requirements specification (SRS).

  • Regression testing
  • The main aim of this type of testing is to make sure that the bugs revealed in previous tests are fixed properly and no new bugs appeared during such bug fixing. If possible, it's recommended to automate regression testing, as the number of software development / bug fixing iterations is usually large.

  • Performance testing
  • Test of application productivity and its conformity to requirements. It is especially important for complex Web applications and mobile software. For example, graphics processing can be crucial on mobile devices, so, it is necessary to check if the application works properly and, say, doesn't lead to display "freezing". Special tools allow getting productivity metrics. One of the subtypes of this testing is benchmark testing.

  • Load testing
  • It tests system working under load. This type of testing is very important for client-server systems including Web application (e-Communities, e-Auctions, etc.), ERP, CRM and other business systems with numerous concurrent users.

  • Stress testing
  • Stress testing examines system behavior in unusual ("stress", or beyond the bounds of normal circumstances) situations. E.g., a system behavior under heavy loading, system crash, and lack of memory or hard disk space can be considered as a stress situation. Fool-proof testing is another case which is useful for GUI systems, especially if they are oriented at a wide circle of users.

  • Boundary testing
  • It tests correctness of application work when entering the boundary values of input data as well as proper processing of over-boundary values. For example, for a percent entry field boundary checks can be 0% processing (it should be processed correctly) and -1% treatment (it should not be allowed to be entered). Boundary values can be much more complex and demand much more complex boundary testing.

  • Usability testing
  • This is one of the most complex and interesing types of testing. It is very important for all sorts of application but it is the most acute for Web, mobile/wireless and mobile internet systems.

  • Configuration testing
  • It checks how an application works in different configuration environments (OSs, DBMS, peripherals, mobile carriers, network capacity, hardware, etc.). A typical example is a printing application: configuration testing would include test printing on all printers available in the market or the most popular ones.

  • Installation testing
  • One of the widespread problems with software products is the installation issue. You might have faced a situation when after buying an application which you liked at your friends' place; you had serious troubles with the installation. Installation testing is aimed at making the installation as simple as possible, so that you understand what is necessary to be done without quitting the installation process. This testing is often combined with documentation testing.

  • Documentation testing
  • The aim of this testing is to help in preparation of the cover documentation (User guide, Installation guide, etc.) in as simple, precise and true way as possible.

  • Security testing
  • Security testing is conducted to examine an application from the point of view of possibility to affect the user safety and/or make his/her data available to third parties. This testing is especially important for payment systems and other applications which use critical data about a user.

Other activities in Testing arena
  • Unit, integration, system, and acceptance testing
  • These types of testing reflect application testing at the different levels: modules, their interaction with each other and hardware (if necessary), and a system in whole. Before a new function, module, block is added to the system, it must work properly when tested separately and pass unit tests successfully. Ideally, after integration of a module into a system, there only appear bugs associated with the interaction of the system and the module.
    Acceptance testing is performed by the producer, customer or end-user to validate whether or not the product is ready to be launched into the market or accepted by the client.

  • Exploratory and scripted testing
  • Scripted testing means that test cases are to be developed before tests execution and some results (and/or system reaction) are expected to be shown. These test cases can be designed by one (usually more experienced) specialist and performed by another tester.
    Exploratory testing doesn't imply test cases developed beforehand. A tester investigates a system from different points of view and tries it in diverse situations using his/her knowledge about this type of software products (e.g., their typical faults), experience and intuition. The more the tester understands the application and is proficient in testing, the better results will be achieved. Exploratory testing allows finding defects which are difficult to reveal otherwise and is very important when testing mission-critical systems.

  • Verification and validation (V&V)
  • Verification and Validation is a set of activities aimed to check that the software meets requirements specification and the intended purpose.

    Verification examines that developers built the product right and it matches the original design. Verification is based on static testing methods.

    Validation tests that the developers built the right product which satisfies the intended usage. It involves predominantly dynamic testing methods.

    Usually V&V is a part of the general software testing process. If V&V is performed by an external company or a group of specialists then it is called Independent verification and validation (IV&V). In this case it can involve special formal procedures and be used as a part of an independent quality examination and assessment of the software developed by subcontractors, 3rd party providers, outsourcing software development vendors, etc.

  • Logo/compliance testing
  • The aim of this type of testing is to ensure that the application is developed in compliance with certain standards and can be awarded with a corresponding compliance/quality logo.

Locate eFlow Gurukul Solutions

© Copyright 2016 - All Rights Reserved