Testing, Quality Assurance and Maintenance
Today´s development and implementation of IT Solutions and Products involve large investment costs, such technology solutions require proper testing and continuous maintenance in order to take advantage of these investments.

Testing and maintenance ensures reliable and safe operation of your IT Solutions. Regular and periodic testing by CAD Nepal will reduce unexpected failures while saving time, minimizing costly breakdowns and unplanned outages. Whereas our daily maintenance will help you forecast your applications repair or replacement, defect fixing and enhancement to avoid unpredicted failure that could lead to downtime.

Our expertise in software projects and product maintenance ensures customer satisfaction by providing on-time support to reduce issues related to quality, reliability and performance.
Our testing methodologies include:
Functional/Acceptance Testing
This is one of the first tests that are performed on any project that we take-in. Verifying that the application performs its intended functions as stated in the specification and establishing confidence that a program does what it is supposed to do. We test the system with the intent of confirming readiness of the product and customer acceptance.

Black Box Testing
Testing after the product is code completed. This test is performed without any knowledge of the inner workings, structure or language of the system/application being tested. Black box tests, as most other kinds of tests, must be written from a definitive source document, such as a specification or requirements document.

Ad Hoc Testing
Testing without a formal test plan or outside of a test plan. With some projects this type of testing is carried out as an adjunct to formal testing. This test often finds problems that are not caught in regular testing. Sometimes, if testing occurs very late in the development cycle, this will be the only kind of testing that can be performed. Sometimes ad hoc testing is referred to as exploratory testing.

Automated Testing
Software testing that utilizes a variety of tools to automate the testing process and when the importance of having a person manually testing is diminished. Automated testing still requires a skilled quality assurance professional with knowledge of the automation tools and the software being tested to set up the tests.

Compatibility/Configuration Testing
Testing to ensure compatibility of an application or Web site with different browsers, Operating Systems, and hardware platforms. Compatibility testing can be performed manually or can be driven by an automated functional or regression test suite. Configuration testing determines how well the product works with a broad range of hardware/peripheral equipment with different set of configurations.

Usability/Accessibility Testing
Testing the User-friendliness of the system. Application flow is tested, whether a new user can understand the application easily, proper help is documented whenever user is stuck at any point. Basically system navigation is also checked in this testing.

Accessibility testing is the technique of making sure that your product is accessibility compliant. Accessibility testing provides a more detailed analysis of the content and layout of the page elements, yielding optimization procedures for a variety of circumstances that can be used during the development process of a site, site remodeling, or ongoing evaluation and monitoring of an existing site.

Conformance Testing
In this test we verify that the implemented system meets defined set of standards. This testing is also known as compliance testing, producing tests for the behavior of an implementation to be sure it provides the portability, interoperability, and/or compatibility a standards defined.

Stress/Load Testing
Testing with the intent of determining how well an application performs when a load is placed on the system resources that nears and then exceeds capacity. Check how well the application handles competition for system resources. The competition may come in the form of network traffic, CPU utilization or memory allocation.

Performance Testing
Performance testing can be applied to understand your application or WWW site's scalability, or to benchmark the performance in an environment of third party products such as servers and middleware for potential purchase. This sort of testing is particularly useful to identify performance bottlenecks in high use applications. Performance testing generally involves an automated test suite as this allows easy simulation of a variety of normal, peak, and exceptional load conditions.

Regression Testing
Testing with the intent of determining if bug fixes have been successful and have not created any new problems. Also, this type of testing is done to ensure that no degradation of baseline functionality has occurred. Such testing ensures reported product defects have been corrected for each new release and that no new quality problems were introduced in the maintenance process. Though regression testing is usually performed manually an automated test suite can also be used to reduce the time and resources needed to perform the required testing.

Security Testing
Testing performed with intent of determining if the system be penetrated by any hacking attempt. Testing how well the system protects against unauthorized internal or external access. Checking if system / database are safe from external attacks, such as SQL injections, Cross Site Scripting (XXS), Remote command execution, File/database disclosure and other exploits.

White Box Testing
This testing is based on knowledge of the internal logic of an application's code. Also known as Glass box Testing. Internal software and code working should be known for this type of testing. Tests are based on coverage of code statements, branches, paths, conditions.