SharePoint Quality Assurance

EqualPartners offers SharePoint quality assurance services which are very essential and at the same time the most overlooked aspects of SharePoint implementation process.

Testing types Short description Results
Requirements testing

A requirement testing is a method for detection of logical errors in project documentation at an early stage, before the actual development starts.

The main purposes of the testing are:

  • Standard: detection of mismatches in expectations and interpretations of the product requirements as well as cyclic  Improvement of the requirements quality (correctness, completeness and adequacy, unambiguity, consistency)
  • Specific for SharePoint: requirements analysis and review taking into account the peculiarities of the architecture, configuration and structure of SharePoint (for ex. the usage of standard SharePoint Search, validation, special symbols, etc.). As a result QA suggests some enhancements to increase the flexibility and configurability of the system.

Verification of requirements compliance with SharePoint restrictions and finding logical problems in product requirement at an early stage allows to:

  • Get recommendations for improving flexibility and convenience of the system.
  • Improve the quality of the future product.
  • Lower the development and testing costs and reduce product time of delivery by minimizing expensive rework in case of requirements-related defects.
Functional and GUI testing

Functional and GUI testing of SharePoint based applications consists of the following main parts:

  1. Detection of functional and GUI defects (testing against business requirements, sketches, mock-ups and other project documentation) as well as finding configuration errors (for ex., unacceptable quality of the functionality can be forced not by problems in code but incorrect system configuration)
  2. Detailed GUI testing to ensure that the application looks professional, and is implemented in the uniform style. It is not so critical for standard SharePoint objects but very important for number of custom grids, forms (search, workflow), navigation trees, and different branding schemes.
  3. Administrative Guide testing. It is installation process testing in accordance with the Guide the system is deployed with. A QA engineer checks if there is enough information to configure the system properly and  whether the system works correctly under default configuration. This testing type is very important in case the system is to be deployed in geographically-distributed organization because the Customer will need to install and reinstall the system several times.

Testing allows to:

  • Identify the functional and GUI defects and improve product quality quickly and in time.
  • Make appropriate enhancements and change requests to the default configuration and Administrative Guide. It helps to avoid  blocking of the system if the deployment takes place on the customer’s side.
  • Find workarounds for some configuration errors by QA engineers. If it is possible, QA Engineers are able to reduce delays in functional testing and reporting without waiting till a new version of a solution to be delivered.
Usability Testing

Usability testing verifies that the application appeals to the target audience and meets the customer’s requirements alongside with the non-documented requirements and enhancements which are bound by usability rules and standards. It is a method of finding logical and structural errors.

Usability testing has the following objectives:

  • Determine if the project allows users to easily and efficiently accomplish their tasks
  • Uncover user difficulties and frustrations associated with the site
  • Collect significant usability findings (including positive and negative findings) with the purpose of improving usability of the product

Performing this test is reasonable and necessary in case of testing deep customized applications based on SharePoint.

As a result, QA provides recommendation for improving the usability characteristics of the product to increase the usability level and ensure that the project meets end users expectations.

Integration Testing

QA performs testing of integration between SharePoint and outer systems:

  • Verification of integration with customer external systems, MS Office integrated systems (custom plug-in, add-in and etc.) and etc.
  • Verification of the systems which are integrated to SharePoint as separate modules or web-parts (for example, Brava! Enterprise, payment systems).

The test results show if integration is able to provide smooth interaction of integrated systems taking into account various systems’ constraints and peculiarities.

Migration Testing

There can be different goals of migration testing which depends on the migration type:

  • Verifying that the projects migration is successful
  • Checking the process of Projects migration testing from custom DMS to SharePoint products
  • Testing of the developed Custom Migration Tools to ensure that it can support the migration process

Testing allows to:

  • Identify defects found during migration process. As a result, it reduces the number of errors and mistakes during real migration.
  • Increase the quality of the Custom Migration Tool (as a result of testing migration errors handling, GUI issues, etc.)
Security Testing

During security testing of the QA:

  • Checks different configurations of Standard SharePoint groups and their rights
  • Tests functionality under custom groups  and permissions
  • Check internal (intranet) and external (external site) access points to SharePoint based application.

The customer gets information about the quality of a system in real life conditions when users with different rights interact with the system:

  • Whether Security Policy is carried out (all users can go through their business process and limited users are restricted from doing some actions, etc.)
  • If a system can be accessed from the outside (authentication, correct pages redirection, etc. testing) and external users can operate with functionality.
Code review

Testing of code against technical specifications/requirements.

QA validates that code is written in accordance with technical requirements (source code has uniform structure, necessary comments, etc.).

Automated Testing

Automated testing includes the development of automated scripts mostly based on predefined functional test cases.

Automated scripts are used for the following objectives:

  • Frequent or time-consuming functional test case generation
  • Hard-to-reproduce scenario generation
  • Data generation
  • Iterative mechanisms check
  • Regressions detection.
  • Reduces manual testing efforts for re-testing stable functionality (regression testing)
  • Allows more frequent build delivery and minimal QA of these builds
  • Reduces efforts on multi-platform and multi-browsers testing
  • Minimizes routine testing operations and replace them with automated test.
Performance Testing

Performance tests determine end-to-end timing (benchmarking) of various time-critical business processes and transactions under low load but with a production-size database.

Load tests are end-to-end performance tests under the anticipated production load, which determine response time for various time-critical transactions and business processes.

As a result, the Customer gets information how well the software performs under normal, unusual, and abnormal circumstances, establishing the maximum load, traffic, data, and other parameters the system can handle.