Software Engineering
Software Engineering
PRACTICAL NO. :- 1
AIM: Study and usage of Open Project or similar software to draft a project
plan.
Project planning is part of project management, which relates to the use of schedules such as Gantt
charts to plan and subsequently report progress within the project environment. Project
management software has the capacity to help plan, organize, and manage resource tools and
develop resource estimates.
The purpose of the Project Plan is to document all managerial aspects of a project that are required
to execute it successfully within its constraints. If some aspects are defined in separate plans the
Project Plan should refer to these documents
Project planning is part of project management, which relates to the use of schedules such as charts
to plan and subsequently report progress within the project environment.Software project
planning is task, which is performed before the production of software actually starts. It is there
for the software production but involves no concrete activity that has any direction connection
with software production; rather it is a set of multiple processes, which facilitates software
production.
1. Ms project
2. Accelo
3. Slack
4. Wrike
5. Freshdesk
6. Confluence
7. Zoho Projects
8. Teamwork projects
9. Procore
In the above mentioned softwares, we chose MS Project.
MS Project Introduction :-
Microsoft Project is a project management software program developed and sold by Microsoft,
designed to assist a project manager in developing a schedule, assigning resources to tasks,
tracking progress, managing the budget, and analyzing workloads.
Page 1
Software Engineering Lab
Project creates budgets based on assignment work and resource rates. As resources are assigned
to tasks and assignment work estimated, the program calculates the cost, equal to the work times
the rate, which rolls up to the task level and then to any summary task, and finally to the project
level.
Each resource can have its own calendar, which defines what days and shifts a resource is
available. Microsoft Project is not suitable for solving problems of available materials (resources)
constrained production. Additional software is necessary to manage a complex facility that
produces physical goods.
Page 2
Software Engineering Lab
Project Information:-
Gantt Chart:-
Page 3
Software Engineering Lab
Network Diagram:-
Page 4
Software Engineering Lab
Task Sheet:-
Task Form:-
Page 5
Software Engineering Lab
Resource Sheet :-
Timeline :-
Page 6
Software Engineering Lab
PRACTICAL NO. :- 2
AIM: Study and usage of Open Project or similar software to track the
progress of a project.
Project Tracking refers to Project Management software, which automates the tracking of tasks,
assignments, events and activities related to the project.
Though Microsoft Project makes monitoring and tracking the progress of your schedule easy, there
are several steps to take before you can begin monitoring project progress.
Monitoring your project can generally be broken down into reviewing and tracking project
progress. Variances from the original plan (or baseline) are identified and managed to keep the
project within scope, on time, and within budget.
Keep the following in mind as you monitor the progress of your schedule.
1. Create a baseline of project: After creating the schedule, consider creating a baseline for
it. A baseline is similar to a version of our project that can be used to compare against the
progress of our tasks. The baseline allows you to make a comparison between the original
schedule and a later version.
Page 7
Software Engineering Lab
We can move our project dates i.e change the dates of our project,
After creating a project plan and baselines, the project begins. At this stage, the project manager
would be focusing on collecting, monitoring, analyzing project performance, and updating project
status by communicating with the stakeholders.
Blank Project :-
Page 8
Software Engineering Lab
Gantt Chart :-
Network Diagram :-
Page 9
Software Engineering Lab
Timeline :-
Page12
Software Engineering Lab
PRACTICAL NO. :- 3
Page11
Software Engineering Lab
1. SVN (SubVersion) : SVN is the most popular open source Configuration Management tool
used for version controlling. Being open source, it is freely available over the net. It provides
many quality control and cost effective benefits to switch to mid projects. Some of the key
features include:
● Ease of set up and administration.
● Fast and flexible update commits.
● Provides high visibility to changes with the ease of reverting the changes of a file.
● SVN has automatic merging and conflict resolution which makes locking
unnecessary.
● Full revision history is maintained by for the files that are renamed, copied or moved.
● Has good integration capability with almost everything (window explorer, leading
IDEs, Agile and continuous integration tools).
● Switching between the branches is easy.
2. Perforce : Perforce is a version controlling software developed by Perforce Software Inc. here
the users connect to shared file repository and files are transferred between the repositories and
individual workstations. Some of the features include:
Page12
Software Engineering Lab
● Has a built in document compare tool to quickly understand what the changes between
the 2 versions of file are.
● We can compare and combine the MS word and power point documents with changes
from other team members.
● We can group the files into projects and teams and can set space level access control to
manage who can see, share edit and comment.
● Has good feature of email sharing and workflow.
● Provides immediate notifications.
3. VSS (Visual Source Safe) : Visual Source safe is a centralized version control system from
Microsoft. Some of the salient features include:
● High performance with local and remote access.
● All the repository data is stored in Microsoft SQL Server to ensure the integrity of the
data.
● Since it is built in C++ and JAVA, it has a minimal system requirement. We can install it
in 32 bit and 64 bit OSes.
● Has good security features as it uses SSl and Blowfish encryption.
Stability of VSS is many times questioned, because it uses direct file based mechanism which
allows user to modify the file once they have locked it. If the machine crashes in the middle of
updating any file, the file can get corrupt, Many times users use a utility which checks the database
for corruption and corrects the error when found.
4. CVS (Concurrent Version System) : CVS is an open source version controlling system
which lets group of people work simultaneously on group of files. Some of the features are:
a. It maintains a central repository of the most recent repository. We can check out a
copy to our local. If the file is updated by some other user, we can update our local
copy.
b. We can edit the copy of the files freely. If new versions of the files have been put in
the repository in the meantime, doing an update merges the changes in the central
copy into our copy.
Page13
Software Engineering Lab
c. Client server cvs enables developers who are scattered across different geographies
or slow networks to function as a single team.
d. It allows more than one developers to work on the same file at the same time.
f. It is integrated easily with other rational products along with eclipse and windows
explorer.
Risk : Risk is an expectation of loss, a potential problem that may or may not occur in the
future. Loss of anything, increase in production cost, development of poor quality software, not
being able to complete the project on time. A possibility of suffering from loss in software
development process is called software risk.
Page12
Software Engineering Lab
16 | P a g e
Software Engineering Lab
PRACTICAL NO. :- 4
GUIDED BY:
ER. GURSHARAN SAINI
SUBMITTED BY:
Suhan (2106689)
(B.TECH-CSE/5TH)
17 | P a g e
Software Engineering Lab
TABLE OF CONTENTS :
18 | P a g e
Software Engineering Lab
2.4 TESTING
2.5 HARDWARE / SOFTWARE REQUIREMENTS
CHAPTER-3 :- DFD
3.1 DATAFLOW DIAGRAM
3.1.5 USE CASE DIAGRAM
CHAPTER-4 :- CONCLUSION & FUTURE SCOPE
4.1 CONCLUSION
4.2 FUTURE SCOPE
4.3 REFERENCES
19 | P a g e
Software Engineering Lab
CHAPTER 1
1.1 JAVA
1.1.1 INTRODUCTION
Java was developed by James gosling at Sun Micro Systems in the year 1995, later by oracle
corporation . it is simple programming language . Java makes writing , compiling ,and
debugging programming easy.it helps to create reusable code and modular programs . Java is
a class based , object oriented programming language and is designed to have as few
implementation dependencies as possible . A general purpose programming language made
for developers to write once run anywhere that is compiled Java code can run on all platforms
that support java . java applications are compiled to byte code that can run on any Java
Virtual machine , The Syntax of java is similar to C/C++.
1.2 MYSQL
MySQL is a relational database. MySQL is a powerful database. It's very good and free of
charge.
Many developers in the world selected My SQL and PHP for developing their website.
20 | P a g e
Software Engineering Lab
• CREATE DATABASE - creates a new database
1.3 APACHE
Apache HTTP Server is a free and open-source web server that delivers web content through
the internet. It is commonly referred to as Apache and after development; it quickly became
the most popular HTTP client on the web. It’s widely thought that Apache gets its name from
its development history and process of improvement through applied patches and modules but
that was corrected back in 2000. It was revealed that the name originated from the respect of
the Native American tribe for its resiliency and durability.
21 | P a g e
Software Engineering Lab
CHAPTER 2
PROJECT REPORT WORK
2.1 OVERALL DESCRIPTION
Course management system become an integral a part of the upper education system.
They create teaching and course management easier by providing a framework and set of
tools
for instructors. The executive aspects of such systems could include class rosters and
therefore the ability to record students’ grades. With relevance the teaching aspects, however,
it might include learning objects, class exercises, quizzes and tests. The CMS might also
include tools for real-time chat, or asynchronous bulletin board kind communications. The
CMS tool additionally focuses on all aspects of teaching, learning and teacher-student
interaction.
As we all know that education has come to be today as nothing more than an Instrument of
livelihood. It should enable the student to take out his livelihood. Education must prepare the
student for future occupational positions, the youth should be enabled to play a productive
role in society. Accordingly, great emphasis has been placed on vocational training.
For every education or course there should be consistent interaction between students for
submitting assignments and home works, projects, and thesis and acquire feedback. In this
exiting system students need to visit faculties and take appointment from faculties or
instructors to submit work.
The system has been developed considering every single quality factor. Due to this reason the
system is extremely secure from the crash down downside. Moreover, the system is very
reliable and attributable to the safety features, provides for the course management system,
unauthorized users cannot access the system. that contains 3 Considering problems in existing
system code application is meant modules.
PROJECT MODULES :-
1. Admin Module: Admin can produce accounts for college students and faculties and make
course programmed list and add instructors and students to it course list.
Admin can produce course details exploitation course creation kind that consists in fact name,
course id, and choose student. Using Student creator kind student details are entered to
information. User name, adapt username, password, given name and name, ID. After
accounts are produced supported every students and instructors are divided and accessorial to
list exploitation create missing students kind.
22 | P a g e
Software Engineering Lab
2. Students Module: Student can register with application or the proposed system and login
with user name and password. He will check and submit any question. Every student can
have id.
3. HOD Module: It can track student’s queries or the doubts. HOD can also delete and update
the student information including their names, emails, addresses, passwords etc.
4. To kept it records as many years we want to keep it for its future use as per our need.
2.2.2 PURPOSE
● The main objective of the project is to design and develop a user friendly efficient
computerized Course Management System.
● An accurate and secure system.
● Secure the user ends data by providing each user’s own personal credentials
● A flexible system which can manoeuvre the student-student relationship in a effective
manner.
● To provide better services at both ends.
● Computerization can be helpful as means of saving time & money.
23 | P a g e
Software Engineering Lab
email, password, phone number and address are collected. The HOD also provides
information about the person who can receive and send any sort of query.
As soon as that particular person arrives, his account will be made by Admin. The HOD can
also note down the information of any student. Admin has more authority than the HOD. He
provides unique ID and password for the HOD and students . He also has the right to delete
or modify the students information.
24 | P a g e
Software Engineering Lab
preliminary survey for the systems investigation. It aims to provide information to facilitate a
later in-depth investigation.
TYPES
There are various measures of feasibility that helps to decide whether a particular project is
feasible or not. These measures include –
2.4 TESTING
System Testing:
Testing is a set of activities that can be planned in advance and conducted systematically. The
proposed system is tested in parallel with the software that consists of its own phases of
analysis, implementation, testing and maintenance.
Unit Testing:
During the implementation of the system each module of the system was tested separately to
uncover errors within its boundaries. User interface was used as a guide in the process.
Module Testing:
A module is composed of various programs related to that module. Module testing is done to
check the module functionality and interaction between units within a module. It checks the
functionality of each program with relation to other programs within the same module.
Integration Testing:
Integration testing is a systematic technique for constructing the program structure while
conducting tests to uncover errors associated with interfacing. The objective is to take unit-
tested module and build a program structures that has been dictated by design.
Acceptance Testing:
The software has been tested with the realistic data given by the client. The client satisfying all
the requirements specified by them has also developed the software within the time limitation
specified. A demonstration has been given to the client and the end-user giving all the
operational features.
Implementation Phase:
25 | P a g e
Software Engineering Lab
The implementation is the final and important phase. It involves user training, system testing
and successful running of the developed system. An elaborate testing of data is prepared and
system is tested using the tests data. The next phase in the implementation was to educate the
system. A demonstration of all the functions that can be carried out by the system was given to
examination department person, who will make extensive use of the system.
For this project minimum hardware and software requirement are listed below:
The hardware requirements stated above are recommended for the optimum
Possible performance of the new system (computerized system).
Hardware Requirements
Software Requirements
26 | P a g e
Software Engineering Lab
CHAPTER 3
3.1.1
ADMIN
LOGIN
HOD
STUDENT
3.1.2
ADD
STUDENT
UPDATE/ UPDATE/
DELETE ADMIN DELETE
HOD STUDENT
ADD HOD
Page 27
Software Engineering Lab
3.1.3
ADD
STUDENT
UPDATE DELETE
STUDENT HOD STUDENT
VIEW
STUDENT
3.1.4
ADD
QUERY
UPDATE REPLY
STUDENT
QUERY QUERY
VIEW
QUERY
Page 28
Software Engineering Lab
3.1.5
USE CASE DIAGRAMS
ADMIN
ADD/
DELETE STUDENTS
VIEW / UPDATES
STUDENTS
ADD /DELETE
HOD
HOD
VIEW/UPDATE
HOD
ADD/VIEW
STUDENTS
ADD QUERY
STUDENT
Page 29
Software Engineering Lab
CHAPTER 4
CONCLUSION AND FUTURE SCOPE
The project entitled as “Course Management System” is the system that deals with the issues
related to a particular institution. This project is successfully implementedwith all the
features mentioned in system requirements specification. Course Management System
Software is an online management application, built as a software development project in
Java programming language. Its main purpose are making efficient interaction between
students and instructors in college during the period of submission of assignments, projects,
for getting appropriate feedback frominstructors.
SCOPE :-
A “Course Management System”(CMS) is a software solution that helps institutes to handle
courses interactions especially for distance learning. It creates an environmentthat can be
accessed by teachers, students to update news or to convey urgent information to the students.
In this system students can easily post their queries and can get efficient reply to their doubts.
It creates space for the students to clear their doubts. It helps to create an effective teaching
plan and manage the courses. In this students get opportunity to interact with other students.
The Admin and HOD can
keep track of student’s information like their names, emails, passwords, addresses, contact
numbers and can delete and update them.
REFERENCE :-
Website URLs
www.oracle.com
www.javatpoint.comz
www.geeksforgeeks.com
pg. 30
Software Engineering Lab
Computer-aided software engineering (CASE) is the domain of software tools used to design
and implement applications. CASE tools are similar to and were partly inspired by computer-aided
design (CAD) tools used for designing hardware products. CASE tools are used for developing
high-quality, defect-free, and maintainable software. CASE software is often associated with
methods for the development of information systems together with automated tools that can be
used in the software development process.
CASE tools supports specific tasks in the software development life-cycle. They can be divided
into the following categories:
1. Business and Analysis modelling. Graphical modelling tools. E.g., E/R modelling, object
modelling, etc.
2. Development. Design and construction phases of the life-cycle. Debugging environments.
E.g., GNU Debugger.
3. Verification and validation. Analyze code and specifications for correctness, performance,
etc.
4. Metrics and measurement. Analyze code for complexity, modularity (e.g., no "go to's"),
performance, etc.
5. Project management. Manage project plans, task assignments, scheduling.
Benefits of Case Tools
1.Rapid Application Development
2.Testing
3.Documentation
4.Project Management
5.Reduce the maintenance cost
The various case tools are as follows:
1.Artiso Visual Case
2.Db main
3.Meta edit
4.Microsoft Visio
5.Smartdraw
6.Argo Uml
7.Visible Anal
[Type here] [Type here] [Type here]
Software Engineering Lab
UPPPER CASE
data flow Valid Valid Valid Valid Valid Valid Valid X Valid Valid
diagramming
ER Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid
diagramming
workflow Valid Valid Valid Valid Valid Valid Valid X Valid Valid
diagramming
object oriented Valid Valid Valid Valid Valid Valid Valid X Valid Valid
diagramming
data dictionary Valid Valid Valid Valid Valid X Valid Valid X Valid
LOWER CASE
code generation Valid Valid Valid Valid Valid X Valid Valid X Valid
import and Valid Valid Valid Valid Valid X Valid Valid X Valid
export
utilities
SmartDraw
Smart Draw is a diagram tool used to make flowcharts, organization charts, mind maps, project
charts, and other business visuals. It integrates with Microsoft Word, Excel, PowerPoint and
Microsoft Project; it can export diagrams to common image formats and PDF format. SmartDraw
is the only diagramming solution that you can install behinda firewall on a Windows desktop and
also run on a Mac and online with all of the third party integrations you'd expect.
And better yet, the powerful online version is fully integrated and compatible with the Windows
version. You can move seamlessly between them. SmartDraw includes over 4,500 templates for
more than 70 different diagram types and over 34,000 symbols for every discipline including
engineering, software design, healthcare as well as the standard shapes used for flowcharts,
organization charts and many other diagrams.
FEATURES:-
SmartDraw Cloud now has thumbnail previews of your own saved diagrams. You no longer have
to try to remember what you named a document, just look for its image in the template browser.
You can now add text and customize templates in your native language. This is a must for today's
global economy.
You can now ungroup and edit the components of complex symbols to help you draw technical
diagrams more easily.
PRACTICAL NO. :- 6
Unit Testing: Unit testing assesses the software in regards to its implementation. We focus on
testing units of a program (i.e. individual methods) and disregard who calls/uses these units. Hence,
we essentially treat each unit as a standalone unit. There are many unit testing tools, one of the
most popular one is JUnit. Note that unit testing is the lowest level of testing because it assesses
the actual code units produced after implementation. This type of testing that is done before
integration testing.
Efficient unit testing helps ensure that integration testing will not be painful, since it is cheaper
and easier to spot and fix bugs when doing unit testing
2. Do not create test cases for everything. Instead, focus on the tests that impact the behavior of
the system.
5. Before fixing a defect, write a test that exposes the defect. Why? First, you will later be able
to catch the defect if you do not fix it properly. Second, your test suite is now more
comprehensive. Third, you will most probably be too lazy to write the test after you have
already fixed the defect.
6. Write test cases that are independent of each other. For example if a class depends on a
database, do not write a case that interacts with the database to test the class. Instead, create an
abstract interface around that database connection and implement that interface with mock
object.
7. Aim at covering all paths through the unit. Pay particular attention to loop conditions.
8. Make sure you are using a version control system to keep track of your test scripts.
9. In addition to writing cases to verify the behaviour, write cases to ensure performance of
thecode.
Integration Testing:- It is needed to ensure that our software still work when two or more
components are combined. You can perform integration testing before the system is complete.
Integration testing is done after unit testing. It is often the case that the individual components
work fine but when everything is put together, we suddenly see bugs appearing due to
incompatibilities/issues with interfaces.
Regression Testing: This type of testing is given a lot of importance because developers
commit changes to software quite often typically, so we want to make sure that these changes
do not introduce bugs. The key for effective regression testing is to limit the size of the regression
tests so that it does not take too long to finish testing otherwise the test set will not finish running
before the next commit. We must also pick effective test cases that will not miss bugs .This type
of testing should be automated .It is important to note that we can always keep on adding more machines
in order to counteract the increasing amount of regression tests but at some point the tradeoff is not worth
it.
Acceptance Testing: With this testing we assess software in relation to the provided
requirements, basically we see if the software we have produced meets the requirements we were
given. This is usually the last type of testing done in the sequence of software development activities.
Inconsequence this type of testing is done after unit testing and integration testing.
Page 34
Software Engineering Lab
Page 35
Software Engineering Lab
2. Error Guessing:-
This is purely based on previous experience and judgment of tester. Error Guessing is the art of
guessing where errors can be hidden. For this technique there are no specific tools, writing the test
cases that cover all the application paths.
3. Boundary Value Analysis:-
Many systems have tendency to fail on boundary. So testing boundary values of application is
important. Boundary Value Analysis (BVA) is a test Functional Testing technique where the
extreme boundary values are chosen. Boundary values include maximum, minimum, just
inside/outside boundaries, typical values, and error values.
Extends equivalence partitioningTest both sides of each boundary Look at output boundaries
for test cases tooTest min, min-1, max, max+1, typical values.
BVA techniques:
1. Number of variables For n variables: BVA yields 4n + 1 test cases.
2. Kinds of ranges Generalizing ranges depends on the nature or type of variables.
Limitations of Boundary Value Analysis:- Boundary value testing is efficient only for
variables of fixed values i.e boundary.
4. Equivalence Partitioning:
Equivalence partitioning is a black box testing method that divides the input domain of a program
into classes of data from which test cases can be derived.
Page 36
Software Engineering Lab
White Box Testing (WBT) is also known as Code-Based Testing or Structural Testing. White box
testing is the software testing method in which internal structure is being known to tester who is
going to test the software.
In this method of testing the testcases are calculated based on analysis internal structure of the
system based on Code coverage, branches coverage, paths coverage, condition Coverage etc.
In the White box testing following steps are executed to test the software code:
Page 37
Software Engineering Lab
1. Statement Coverage :- In this white box testing technique try to cover 100% statement
coverage of the code, it means while testing the every possible statement in the code is executedat
least once.
Tools: To test the Statement Coverage the Cantata++ can be used as white box testing tool.
2. Decision Coverage:- In this white box testing technique try to cover 100% decision coverage
of the code, it means while test the every possible decision conditions like if-else, for loop and
other conditional loops in the code is executed at least once.
Tools: To cover the Decision Coverage testing in the code the TCAT-PATH is used. This
supports for the C, C++ and Java applications.
3. Condition Coverage :- In this white box testing technique try to cover 100% Condition
coverage of the code, it means while testing the every possible conditions in the code is executed
at least once.
4. Decision/Condition Coverage:In this mixed type of white box testing technique try to cover
100% Decision/Condition coverage of the code, it means while testing the every possible
Decisions/Conditions in the code is executed at least once.
5. Multiple Condition Coverage:In this type of testing we use to cover each entry point of the
system to be execute once.
Advantages of White Box Testing :-
● To start the testing of the software no need to wait for the GUI, you can start the White Box
Testing.
● Tester can ask about implementation of each section, so it might be possible to remove unused
● As the tester is aware of internal coding structure, then it is helpful to derive which type of
● To test the software application a highly skilled resource is required to carry out testing
who know the deep knowledge of internal structure of the code which increase the cost.
● If the application under test large is size then exhaustive testing is impossible.
● It is not possible for testing each and every path/condition of software program, which
● To analyze each line by line or path by path is nearly impossible work which may introduce
● To test each paths or conditions may require different input conditions, so to test full
application tester need to create fill range of inputs which may be a time consuming.
Page 39
Software Engineering Lab
Page 40
Software Engineering Lab
Test Case
A Test Case is a set of actions executed to verify a particular feature or functionality of your
software application.
Test Case 3: Check response when User ID is Empty & Login Button is pressed, and many more
Test
Test Expected Actual
Case Test Steps Test Data Pass/Fail
Scenario Results Results
ID
1. Go to site
Check http://www.gmail.co Userid = abc User should
Customer m As
TU01 Password = Login into Pass
Login with 2. Enter UserId Expected
3. Enter Password pass1@23 application
valid Data
4. Click Submit
Page 41
Software Engineering Lab
PRACTICAL NO. :- 8
AIM: Testing of a web site.
Web Testing in simple terms is checking your web application for potential bugs before its made
live or before code is moved into the production environment.
During this stage issues such as that of web application security, the functioning of the site, its
access to handicapped as well as regular users and its ability to handle
1. Functionality Testing :-This is used to check if your product is as per the specifications you
intended for it as well as the functional requirements you charted out for it in your
developmentaldocumentation. Testing Activities Included:
Test all links in your webpage’s are working correctly and make sure there are no broken links.
Links to be checked will include -
● Outgoing links
● Internal links
● Anchor Links
● Mail To Links
● Scripting checks on the form are working as expected. For example- if a user does not fill
a mandatory field in a form an error message is shown.
● Check default values are being populated
● Once submitted, the data in the forms is submitted to a live database or is linked to a
working email address
● Forms are optimally formatted for better readability
Page 42
Software Engineering Lab
Test Cookies are working as expected. Cookies are small files used by websites to primarily
remember active user sessions so you do not need to log in every time you visit a website. Cookie
Testing will include
● Testing cookies (sessions) are deleted either when cache is cleared or when they reach their
expiry.
● Delete cookies (sessions) and test that login credentials are asked for when you next visit
the site.
Test HTML and CSS to ensure that search engines can crawl your site easily. This will include
1. Testing your end - to - end workflow/ business scenarios which takes the user through a
series of webpage’s to complete.
2. Test negative scenarios as well, such that when a user executes an unexpected step,
appropriate error message or help is shown in your web application.
2. Performance Testing :-This will ensure your site works under all loads. Testing activities
willinclude but not limited to:-
Page 43
Software Engineering Lab
3. Usability testing :- Usability Testing has now become a vital part of any web based project.
It can be carried out by testers like you or a small focus group similar to the target audience
of the web application.
● Menus, buttons or Links to different pages on your site should be easily visible and
consistent on all webpages
● Content should be legible with no spelling or grammatical errors.
● Images if present should contain an "alt" text
4. Interface Testing :- Three areas to be tested here are - Application, Web and Database Server
● Application: Test requests are sent correctly to the Database and output at the client side
is displayed correctly. Errors if any must be caught by the application and must be only
shown to the administrator and not the end user.
● Web Server: Test Web server is handling all application requests without any service
denial.
● Database Server: Make sure queries sent to the database give expected results.
Test system response when connection between the three layers (Application, Web and
Database) cannot be established and appropriate message is shown to the end user.
5. Database Testing: Database is one critical component of your web application and stress
mustbe laid to test it thoroughly. Testing activities will include-
Page 44
Software Engineering Lab
6. Compatibility testing: Compatibility test ensures that your web application displays
correctlyacross different devices. This would include-
Browser Compatibility Test :- Same website in different browsers will display differently. You
need to test if your web application is being displayed correctly across browsers, JavaScript, AJAX
and authentication is working fine. You may also check for Mobile Browser Compatibility.
The rendering of web elements like buttons, text fields etc. changes with change in Operating
System. Make sure your website works fine for various combination of Operating systems such
as Windows, Linux, Mac and Browsers such as Firefox, Internet Explorer, Safari etc.
7. Security testing: Security Testing is vital for e-commerce website that store sensitive
customerinformation like credit cards. Testing Activities will include-
LOGIN PAGE :-
Page 45
Software Engineering Lab
pg. 46