

Thu, 11 Mar 2010
Software Testing & Validation| Software Testing |
|
|
|
![]() Testing & Validation ServicesEnsuring software reliability is one of the most difficult challenges in building a software product. NewCreationIT’s Quality Assurance & Testing team’s experience and abilities can help meet those challenges. Our team of Testers will validate an application's conformance to a specification for features, correctness, performance, security, etc. Furthermore, our testing team has experience and expertise in writing test cases, and in testing techniques such as test generation, coverage analysis, regression testing and in generating test reports. Our testing teams can also assist our clients in selecting and using off-the-shelf and open source tools. Where required our development team can develop specific testing tools for complex applications. Our testing and validation services include:
Our testing teams work with software systems across platforms, architectures and technologies. As needed our QA/Testing professionals can be sent to work on-site at our customer’s premises. Software Verification And ValidationVerificationVerification answers the question, "Are we building the system right?" The review of interim work steps and interim deliverables during a project to ensure they are acceptable. To determine if the system is consistent, adheres to standards, uses reliable techniques and prudent practices, and performs the selected functions in the correct manner. Verification is an iterative process that determines if the products produced at each iteration/phase/step of the development/enhancement effort:
Verification answers the question, "Are we building the system right?" ValidationValidation is the process of examining and exercising the complete application (software, hardware, procedures, and all else) to determine if all of the stakeholders' requirements are met. Validation is done at least twice:
Validation answers the question, "Are we building the right system?" Independent Verification and Validation is verification and validation that is performed by an organization other than the developing/enhancing organization." The expected (and experienced) benefits are IV&V:
Software Testing ServicesOur Software Testing services addresses a wide range of testing needs including White box testing, Black box testing, Functional testing, Regression testing, Usability testing, Compatibility testing, Ad-hoc testing, and Load/Performance testing. Functional TestingFunctional testing verifies that the application performs its intended tasks as defined by a stated set of specifications. The specifications of an application are the benchmark of what the application should do. Functional correctness is determined by performing a functional test, that is, if a particular action is taken then a particular result should be shown. The goals of these tests are to verify proper data acceptance, processing, and retrieval, and the appropriate implementation of the business rules. This type of testing is based upon black box techniques, that is, verifying the application (and its internal processes) by interacting with the application via the GUI and analyzing the output (results).This testing is done at the Form, Module level. Data And Database Integrity TestingThis type of testing ensures that the correct data is being populated in the respective tables (database) as intended. For this we need to know about the relationship between different tables and how they are associated. User Interface TestingUser Interface testing verifies a user’s interaction with the software. The goal of UI Testing is to ensure that the User Interface provides the user with the appropriate access and navigation through the functions of the target-of-test. In addition, UI Testing ensures that the objects within the UI function as expected and conform to corporate or industry standards. Usability TestingUsability Testing: Testing for 'user-friendliness'. The application must be easy to use. This includes things like navigation, clarity, and understandability of the information provided by the application. Usability can be validated and usually involves the following.
Compatibility TestingCompatibility testing ensures that application functions correctly on multiple browsers. Adhoc TestingThe main purpose of this type of testing is to discover defects that have not been found with other types of testing.Ad hoc testing is most often used as a complement to other types of testing. System TestingSystem testing examines the web application as a whole and with other systems Once the whole system is ready then it can tested as a whole and make sure that system as a whole is working correctly. Also ensure that the values are correctly reflected in the database for each of the transactions. Business Cycle TestingBusiness Cycle Testing should emulate the activities performed on the system over time. A period should be identified, such as one year, and transactions and activities that would occur during a year’s period should be executed. This includes all daily, weekly, monthly cycles and events that are date sensitive, such as ticklers. Performance ProfilingPerformance profiling is a performance test in which response times, transaction rates, and other time sensitive requirements are measured and evaluated. The goal of Performance Profiling is to verify performance requirements have been achieved. Performance profiling is implemented and executed to profile and tune a target-of-test's performance behaviors as a function of conditions such as workload or hardware configurations. Transactions refer to “logical business transactions.” These transactions are defined as specific use cases that an actor of the system is expected to perform using the target-of-test, such as add or modify a given contract. Load TestingLoad testing is a performance test which subjects the target-of-test to varying workloads to measure and evaluate the performance behaviors and ability of the target-of-test to continue to function properly under these different workloads. The goal of load testing is to determine and ensure that the system functions properly beyond the expected maximum workload. Additionally, load testing evaluates the performance characteristics (response times, transaction rates, and other time sensitive issues). Stress TestingStress testing is a type of performance test implemented and executed to find errors due to low resources or competition for resources. Low memory or disk space may reveal defects in the target-of-test that aren't apparent under normal conditions. Other defects might results from competition for shared resource like database locks or network bandwidth. Stress testing can also be used to identify the peak workload the target-of-test can handle. Volume TestingVolume Testing subjects the target-of-test to large amounts of data to determine if limits are reached that cause the software to fail. Volume testing also identifies the continuous maximum load or volume the target-of-test can handle for a given period. For example, if the target-of-test is processing a set of database records to generate a report, a Volume Test would use a large test database and check that the software behaved normally and produced the correct report. Security And Access Control TestingSecurity and Access Control Testing focus on the following key areas of security:
Failover / Recovery TestingFailover / Recovery testing ensures that the target-of-test can successfully failover and recover from a variety of hardware, software, or network malfunctions with undue loss of data or data integrity. Failover testing ensures that, for those systems that must be kept running, when a failover condition occurs, the alternate or backup systems properly “take over” for the failed system without loss of data or transactions. Recovery testing is an antagonistic test process in which the application or system is exposed to extreme conditions (or simulated conditions) to cause a failure, such as device I/O failures or invalid database pointers / keys. Recovery processes are invoked and the application / system is monitored and / or inspected to verify proper application / system / and data recovery has been achieved. Configuration TestingConfiguration testing verifies the operation of the target-of-test on different software and hardware configurations. In most production environments, the particular hardware specifications for the client workstations, network connections and database servers vary. Client workstations may have different software loaded (e.g. applications, drivers, etc.) and at any one time many different combinations may be active and using different resources. Installation TestingInstallation testing has two purposes. The first is to insure that the software can be installed under different conditions, such as a new installation, an upgrade, and a complete or custom installation, and under normal and abnormal conditions. Abnormal conditions include insufficient disk space, lack of privilege to create directories, etc. The second purpose is to verify that, once installed, the software operates correctly. This usually means running a number of the tests that were developed for Function testing. NewCreationIT leverages its offshore software development center in Bangalore, India to deliver world-class solutions and services at amazingly low costs for its customers globally. To learn more about our company, our services and how we can assist your business, please contact us: This e-mail address is being protected from spam bots, you need JavaScript enabled to view it or submit a request online. |
||