Saturday, July 23, 2016

SharePoint Testing – Phase wise Comprehensive Approach


SharePoint is one of the top Enterprise Content Management (ECM) tool for design and developing websites, portals and data analysis applications. It’s mostly used tool in the current market for public websites design and portal development.
Testing is one of the important phase in any kind of project which make the application more robust and error free for end users. Lot of projects fails due to poor testing approaches. With years of experience in SharePoint project execution I have come up with phase wise comprehensive approach for SharePoint project testing. There has to be a different technique for SharePoint project testing that must be used with proper phases compared to classical project testing.
The reasons for this is …
-          SharePoint  Out of box (OOB)/Standard Features
Microsoft designed SharePoint on top of the ASP.Net framework. ASP.Net frame work is used for developing the web application using Microsoft platform. SharePoint provides lot of OOB features (modules) for generis needs. E.g. the calendar list and calendar view are mostly required features in any application and SharePoint provides it as readymade tool. Developers can easily add it while configuring or customizing the SharePoint application for customers. This gives flexibility to build the required feature in quick time but it also come with some limitations for enhancements as per customer need.
-          SharePoint OOB feature User interface and Validations
Any OOB feature can be customized to only certain level for CSS and validations. There is very less options to change OOB features business logic and customize it for customer requirements. Here QA persons must need to know the main business logic of the OOB feature along with its threshold limitations. QA person must be well versed with OOB features and should know the pros and cons of it. After having the good knowledge of OOB feature then it’s time to understand how developer has customized it and what purpose. Here QA person can judge on his experience the scalability and performance of that feature after customization.
-          Authentication and Authorization in SharePoint
SharePoint do not create any users. It depend on third party tool for user’s creation and authentication process. QA person must be well known with what kind of authentication is used in SharePoint application. It’s also important to create new user in any third party authentication provider and then test the application by providing required various permissions to newly added tester user and validate each module as per the allocated permissions.

SharePoint provides default authorization module with some standard permissions. QA person must need to know the type of permission and its scope. SharePoint also gives the capability to create custom permissions. So QA person need to check for scope of the custom permissions.
-          SharePoint Settings
SharePoint sites have settings sections. Developers configure site from this section by applying the settings to various features. QA person must need to have some knowledge of site settings. Before starting the testing it’s better to list number settings applied on testing site, does site working as per the applied settings? etc.
 These are some SharePoint concepts that will create difference in SharePoint testing compared to classical .net or any other application testing.
Testing Phases
SharePoint works as platform for various domains. In recent days companies are getting lot for inquiries for connecting the SharePoint with organizations LOB applications like SAP, ERP or CRM to fetch the transactional data and show it on SharePoint portal with various dashboards. So, right from SharePoint installation stage to final UAT there are various stages that QA person has to go through to deliver error free application. These phases has to be carried out in sequence to get the effective test results. The phases and its internal test are explained briefly in below section


.


Phase 1
Infrastructure Validation:
Infrastructure plays vital role in SharePoint Platform. Infrastructure is the base of all SharePoint applications. Poor Infrastructure will impact on application performance. So it’s important to validate the infrastructure of SharePoint servers before installing SharePoint. The infrastructure may vary depending on total user count, concurrent user count and data transaction frequency in SharePoint applications. Here QA persons need to take help of SharePoint Architect and SharePoint Admin to validate the infrastructure. Proper infrastructure is very important as per customer requirement.
Installation Verification: After establishing the proper infrastructure SharePoint team will install the SharePoint servers according to the topology. QA team need to understand the topology and verify that the installation is done as per the plan or not.
Configuration Testing: Once installation is complete SharePoint team will continue with configuration of SharePoint WFE, Service applications and Database servers. QA team need to participate in this phase and need to validate the installed SharePoint servers for proper configuration settings.
Administrative Setup Testing: After SharePoint installation is complete, it’s controlled by Central Admin (CA) site. SharePoint super admin user can manage any site collection using this site. QA team’s role is to verify the CA site and check all the setting done in CA site for related site collection. E.g. Outgoing email settings.
Phase 2
Permission and Security Testing: Permission and Security testing is important phase of testing. It will help to protect the data from unauthorized access. SharePoint team will always have permission matrix plan implemented as per the user groups and permissions in site collection. Its QA team’s responsibility to check and verify the permission of each user group in the site collection as per the matrix.
Build Deployment Testing: After implementing proper infrastructure, now SharePoint team will start working on development modules. Each module will be developed on development server and tested on staging server. After doing all functional and integration testing of the module then it will be ready for UAT server deployment
Phase 3
Solution Testing: In development stage various kind of solutions get developed. Solutions is the module which contains web part, visual studio template workflows, site definitions etc. QA team will write the test script for each of the scenario and test the solution as per the test scripts. The testing will be carried out on the staging server and after successful testing the solution will be moved to UAT server
Web Part Testing: SharePoint team sometimes develop individual web part and it’s deployed to SharePoint site. Main difference between and solution and feature is that, solution work as vehicle for features in deployment process. When you deploy the feature using solution then all the DLLs automatically goes to GAC. The web.config changes takes place and you have option to deploy it as farm solution. The same is not possible with installing it as feature. QA team need to understand the functionality of the feature and then validate it in the site collection for its functionality.
Phase 4
§  Portal Usability Testing: Usability testing is the best way to understand how real users experience your website or application. It refers to evaluating a product or service by testing it with representative users. In usability testing basically the testers tests the ease with which the user interfaces can be used. It tests that whether the application or the product built is user-friendly or not.
§  Mobile Device Usability Testing:  Usability testing of mobile devices is an emerging area of research in the field of software testing and it faces a variety of challenges due to unique features of mobile devices. QA team’s challenge is to test the application on different devices with heterogynous platform and different resolutions of devices.

Phase 5
§  Performance Testing:  Performance of the SharePoint application can be measured in various ways. Following are some of the tests that always help to measure the performance of the application.
    • Browse page
    • Download document
    • Run search query
    • Upload document
QA team need to go through these tests then compare and analyze the result with standard result and need to come up with performance results.
§  Load Testing: Load testing is the process of placing a demand on a system and measuring its response. SharePoint has introduced one template in Visual studio 2012 for load testing. In visual studio 2012 ultimate there is one template for web performance and load test. QA people can use this template or go for any third party tool for verifying the load test.
Phase 6
§  User Acceptance Testing (UAT):  UAT is the delivering and making sure the customer what development team has promised to deliver in the project at the start of the project. It is one way to reduce the change requests and project cost. In SharePoint UAT must be planned properly. First thing is that there should be separate UAT server and all the test case script must be executed by UAT team. QA team has to play supportive role to carry out the UAT without any impediments. After successful UAT, project is ready to move to production.

These phases help test team to test any kind of SharePoint application in comprehensive way and will able to deliver successful error free and well performing SharePoint application.