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.