CS603 – Web
Engineering
PREPARED BY: DR. REEMA PATEL
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 1
Testing
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 2
Website Testing Strategy
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 3
Web Testing Strategy
• Functionality Testing:
• Verify there is no dead page or invalid redirects.
• First check all the validations on each field.
• Wrong inputs to perform negative testing.
• Verify the workflow of the system.
• Verify the data integrity.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 4
Web Testing Strategy
• Usability testing - To verify how the application is easy to use with.
◦ Test the navigation and controls. Forms, Text Boxes. Images, Menu Items, Links, etc.
◦ Content checking.
◦ Check for user intuition.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 5
Web Testing Strategy
• Interface testing - Performed to verify the interface and the dataflow from one system to other.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 6
Web Testing Strategy
• Compatibility testing- Compatibility testing is performed based on the context of the application.
◦ Browser compatibility
◦ Operating system compatibility
◦ Compatible to various devices like notebook, mobile, etc.
• This includes checking that JavaScript, AJAX, WebSockets, browser notifications, and authentication requests are working as
designed, especially if you’re using jwt authentication.
• LambdaTest is recommended, a cross-browser testing cloud, for browser compatibility testing.
• Using the Lambda tool, users can test their website on 2000+ real browsers & OS devices.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 7
Web Testing Strategy
• Performance testing - Performed to verify the server response time and throughput under various load conditions.
◦ Load testing -
◦ It is the simplest form of testing conducted to understand the behaviour of the system under a specific load.
◦ Load testing will result in measuring important business critical transactions and load on the database, application server, etc. are also
monitored.
◦ Stress testing -
◦ It is performed to find the upper limit capacity of the system and also to determine how the system performs if the current load goes well
above the expected maximum.
◦ Soak testing -
◦ Soak Testing also known as endurance testing, is performed to determine the system parameters under continuous expected load.
◦ During soak tests the parameters such as memory utilization is monitored to detect memory leaks or other performance issues. The main aim
is to discover the system's performance under sustained use.
◦ Spike testing -
◦ Spike testing is performed by increasing the number of users suddenly by a very large amount and measuring the performance of the system.
◦ The main aim is to determine whether the system will be able to sustain the work load.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 8
Web Testing Strategy
• Security testing - Performed to verify if the application is secured on web as data theft and unauthorized access are more
common issues
◦ Injection
◦ Broken Authentication and Session Management
◦ Cross-Site Scripting (XSS)
◦ Insecure Direct Object References
◦ Security Misconfiguration
◦ Sensitive Data Exposure
◦ Missing Function Level Access Control
◦ Cross-Site Request Forgery (CSRF)
◦ Using Components with Known Vulnerabilities
◦ Unvalidated Redirects and Forwards
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 9
Web Testing Strategy
• Crowd Testing:
• also known as crowd source testing
• large group of people are selected to perform testing on a web application
• they can share their respective feedbacks and suggestions on the web application
• it is helpful in identifying unnotified bugs or errors
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 10
Testing tools for web application development
• Automated testing tools:
◦ indispensable for performing repetitive and systematic tests, ensuring your web application remains functional and free of regressions
throughout development.
• Some popular automated testing tools include:
◦ Selenium:
◦ Selenium is a versatile tool for automating browser interactions, supporting various programming languages and browsers.
◦ It’s widely used for functional and regression testing.
◦ Cypress:
◦ modern end-to-end testing framework designed for web applications.
◦ It offers real-time reloading and a robust debugging experience.
◦ Jest:
◦ Primarily used for JavaScript-based applications,
◦ Jest is a testing framework emphasizing simplicity and speed.
◦ It’s commonly used for unit and component testing.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 11
Testing tools for web application development
• Load testing tools:
• Load testing tools help assess how your web application performs under different user traffic and stress levels.
• Apache JMeter:
◦ JMeter is an open-source tool for load and performance testing,
◦ capable of simulating various scenarios and load levels.
• LoadRunner:
◦ is a comprehensive performance testing tool that offers a wide array of protocols and integration capabilities.
• Gatling:
◦ highly scalable and open-source load testing tool that uses the Scala programming language for scripting realistic
scenarios.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 12
Testing tools for web application development
• Security testing tools
• OWASP ZAP:
◦ The OWASP Zed Attack Proxy (ZAP) is a widely-used open-source security testing tool that helps find security
vulnerabilities during development and testing.
• Burp Suite:
◦ powerful suite of tools for web application security testing.
◦ It includes features for scanning, crawling, and exploiting vulnerabilities.
• Nessus: Nessus is a network vulnerability scanner that can also be used to identify security issues in web
applications.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 13
Testing tools for web application development
• Cross-Browser Testing Tools
• BrowserStack:
◦ provides a cloud-based platform for testing web applications on various browsers and devices.
• CrossBrowserTesting:
◦ offers real-time testing of web applications on a wide range of browsers, including mobile devices.
• Sauce Labs:
◦ provides a cloud-based testing platform for automated cross-browser testing.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 14
Testing tools for web application development
• Accessibility testing tools
• axe:
◦ open-source accessibility testing engine that integrates with various testing frameworks and provides actionable
accessibility feedback.
• WAVE:
◦ The Web Accessibility Evaluation Tool (WAVE) is a browser extension that provides instant accessibility analysis of
web pages.
• Pa11y:
◦ Pa11y is a command-line tool that helps automate accessibility testing and provides reports on issues.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 15
Testing tools for web application development
• Code quality and continuous integration tools
• Jenkins:
◦ an open-source automation server that supports building, deploying, and automating various aspects of software
development, including testing.
• Travis CI:
◦ cloud-based continuous integration service that automates the testing and deployment of your code.
• CircleCI:
◦ continuous integration and continuous delivery (CI/CD) platform facilitates automated testing.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 16
Content Management
System (CMS)
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 17
CMS
• Over the decades, the Content Management System has seen an unprecedented growth from static web pages built on HTML to
customized sites developed using PHP to give personalized experience
• Initially, in the 1990 ’ we had flat HTML files Then there was Dynamic HTML to create interactive and animated websites by using a
combination of a static markup language
• Apple com at the very birth of the World Wide Web in 1992
• Then there was GeoCities a web hosting service, later acquired by Yahoo in 1999.
• During this time, GeoCities was the third most visited site on the World Wide Web It was the first kind of web based CMS that allows
users to manage their website.
• This is a concise history of CMS in the 1990 s On contrary to this, 2000 ’s seen the massive development from basic HTML DHTML web
pages to proprietary and open source CMSs
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 18
What is Content?
• Content is created through “editorial process”.
◦ This process is what humans do to prepare information for publication to an audience
◦ It involves authoring, editing, reviewing, approving, versioning, comparing, and controlling
• Content is information produced through editorial process and ultimately intended for human consumption
via publication
• Content is in essence, any type or ' of digital information
• It can be text, images, graphics, video, sound, documents, records etc, or in other words, it can be anything
that is likely to be stored and managed in an electronic format
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 19
CMS
• A content management system ( is a software package that provides some level of automation for the tasks
required to effectively manage content
• A CMS is usually server based multiuser software that interacts with content stored in a repository.
• This repository might be located on the same server, as part of the same software package, or in a separate
storage facility entirely.
• A computer software system for organizing and facilitating collaborative creation of documents and other
content, especially for loading to a website
• It is a web application designed to make it easy for non-technical users to add, edit and manage a website.
• It is a system for managing content in a web site that doesn’t require special software for uploading pages.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 20
CMS
• CMSs have been available since the late 1990s
• CMSs are often used to run websites containing blogs, news, and shopping.
• Typically aim to avoid the need for hand coding.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 21
Types of Content Management Systems
• Web content management : The management of content primarily intended for mass delivery via a website
• Enterprise content management : The management of general business content, not necessarily intended
for mass delivery or consumption (e.g employee resumes, incident reports, memos, etc This flavour was
more traditionally known as “document management,” but the label has been generalized over the years
ECM excels in collaboration, access control, and file management.
• Digital asset management : The management and manipulation of rich digital assets such as images, audio,
and video for usage in other media
• Records management : The management of transactional information and other records that are created as
a by product of business operations (e.g. sales records, access records, contracts, etc)
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 22
What a CMS Does?
• Control Content
• Permissions: Who can see this content? Who can change it? Who can delete it
• State management and workflow: Is this content published? Is it in draft? Has it been archived and removed
from the public
• Versioning: How many times has this content changed? What did it look like three months ago? How does
that version differ from the current version? Can I restore or republish an older version?
• Dependency management: What content is being used by what other content? If I delete this content, how
does that affect other content? What content is currently and unused?
• Search and organization: How do I find a specific piece of content? How do I find all content that refers to X?
How do I group and relate content so it’s easier to manage?
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 23
What a CMS Does?
• Allow Content Reuse
• Using content in more than one place and in more than one way increases its value
• Some examples
◦ A news article appears on its own page, but also as a teaser on a category page and in multiple “Related
Article” sidebars
• An author’s bio appears at the bottom of all articles written by that person
• A privacy statement appears at the bottom of every page on a website
• In these situations, this information is not created every time in every location, but simply retrieved and
displayed from a common location
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 24
What a CMS Does?
• Allow Content Automation and Aggregation
• We can allow users to consume content in other formats, such as PDF or other ebook formats
• We can automatically create lists and navigation for our website
• We can create multiple translations of content to ensure we deliver the language most appropriate to the
current user
• We can alter the content we publish in real time based on the specific behaviors and conditions exhibited by
our visitors
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 25
What a CMS Does?
• Increase Editorial Efficiency
• The ability of editors to create and edit content quickly and accurately is enormously affected by the
platform used
• Editor efficiency is increased by a system that controls what type of content editors can and can’t add, what
formatting tools are available to them, how their content is structured in the editing interface, how the
editorial workflow and collaboration are managed, and what happens to their content after they publish
• A good CMS enables editors to publish more content in a shorter time frame (it increases “editorial
throughput”), and to control and manage the published content with a lower amount of friction or drag on
their process
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 26
Features of CMS
• The most important features of CMS are that you can create a dynamic website without any programming and design
knowledge
• CMS is theme based which provides you options for various open source and premium design themes, which can be
integrated easily without any designing knowledge
• Plugins extend the functionality of CMS, which can be used to add new required modules
• CMS sites are search engine optimization ( friendly, it means sites built in CMS can be easily optimized for search engine
listings
• CMS support Multilingual, which allow users to translate content in their language
• CMS has inbuilt Media Management System which is used to manage images, music, documents etc and can be used
with text content
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 27
CMS
• Complete Content Management Systems
◦ Drupal
◦ Joomla
• BLOGS:
◦ wordpress
◦ Movable Type
◦ Blogger
• WIKIS:
◦ MediaWiki
◦ Confluence
◦ pmwiki
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 28
CMS
• Static HTML: editor Your editor constructs and helps to link to each page
• CMS: editors are optional Install the software on the server (hardware), then develop the
site in your browser: Chrome or Firefox!!!
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 29
CMS Technologies
• Middleware: programming language that the CMS is written in
◦ Joomla, Drupal, WordPress use PHP. Other middleware languages include ASP, .NET, ColdFusion, Python, Perl…
• Database: Holds information for the website
◦ Joomla, Drupal, WordPress use MySQL. Other databases include MS-SQL, PostgreSQL, Oracle, etc. There are also
non-relational databases like MongoDB that might be used.
• You’ll also encounter HTML, CSS, JavaScript, and occasionally XML.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 30
CMS
The content management system (CMS) has two elements:
● Content management application (CMA) is the front-end user interface that allows a user, even
with limited expertise, to add, modify and remove content from a Web site without the
intervention of a Webmaster.
● Content delivery application (CDA) compiles that information and updates the Web site.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 31
Web CMS
• A software system that provides website authoring, collaboration, and administration tools.
• Designed to allow users with little knowledge of web programming to create and manage website content with relative
ease.
• Uses a content repository or a database to store page content, metadata, and other information assets.
• Has a presentation layer (template engine) to display the content to website visitors based on a set of templates.
• Uses server side caching to improve performance.
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 32
Capabilities of a CMS
● Automated templates
● Access control
● Scalable expansion
● Easily editable content
● Scalable feature sets
● Web standards upgrades
● Collaboration
● Delegation
● Document management
● Workflow management
● Content virtualization
● Content syndication
● Multilingual
● Versioning
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 33
Advantages
• CMS is free and an open source platform under the GNU General Public License (GPL).
• Design themes customization in CMS is very easy.
• It allows you to manage users with different roles and permissions.
• MS media management is quick and easy to use.
• Good For Search Engine Optimization
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 34
Disadvantages
● Cost of implementations
● Cost of maintenance
● Latency issues
● Tool mixing
● Security
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 35
Some Popular CMS
• Open Source CMS • Proprietary CMS
• WordPress • Microsoft SharePoint
• Joomla • IBM Enterprise Content Management
• Drupal • Pulse CMS
• TYPO3 • Sitecore
• Concrete5 • Shopify
• Django CMS
• GravCMS
• OpenCMS
• OpenWGA
• C1 CMS
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 36
CMS
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 37
4/26/2024 DR. REEMA PATEL, WEB ENGINEERING, [Link] - III, IIIT SURAT 38