SE File
SE File
Practical-1
Aim : Study and usage of OpenProj or similar software to draft a project plan.
Introduction: - Project managers can use OpenProj, a free task tracking application, when
creating effective plans. OpenProj delivers functionality that rivals the capabilities of commercial
software. This can save thousands of dollars in startup costs. Of course, saving a lot of money can
be foolish if the required tasks can't be done. This is not the case with OpenProj. Luckily the
OpenProj application gives managers a full set of tools that are typically used to track projects.
Useful aids such as critical path analysis, resource tracking and task comments are all present in
OpenProj. The tool is ideal for simple project management but is capable of larger efforts as well.
Fig no: -1
For the purposes of the example project plan, the following assumptions are made:
-The OpenProj software has already been installed and correctly configured on a workstation with
an attached printer
The goal is to launch a new marketing effort in 6 months, called "Anganwadi"
There are three full-time staff resources, including the manager
Budget is not a consideration
Schedule is the primary consideration
The target implementation date is 6 months away but is not an absolute fixed date
Page 1
Software Engineering BTCS 506-18
Fig no: -2
Page 2
Software Engineering BTCS 506-18
Fig no: -3
are based on the values previously seen for similar tasks. There is no ordering of tasks or
dependencies. The raw Gantt list is below.
Notice that the task "Application Development" is shown with a red duration bar while all other
tasks have blue bars. This task is identified as the project critical path. It is the longest running task
in the project. Since all tasks default to the start date of the project, the analysis of the critical path
is quite premature at this time. The project manager must now modify dependencies.
Page 3
Software Engineering BTCS 506-18
Fig no: -4
Notice that there is now a critical path, shown as a red bar, that is comprised of two tasks. The
other tasks are completed in parallel and don't affect the critical path. At this point, no resources
have been assigned to the tasks. No tasks have been split into component
colon.
Fig no: -5
2002633 Page 5
Software Engineering BTCS 506-18
An important feature of project management applications is the ability to allow the manager to split
tasks into smaller sub-tasks. This can allow better accuracy in schedule estimating. It also allows team
members to be specified in a just-in-time fashion for their assignments. The example project has some
opportunities for task elaboration
Fig no: -6
2002633 Page 6
Software Engineering BTCS 506-18
With all of the tasks entered, and sub-tasks specified, the plan has really evolved. It now shows a lot
of information which can be useful in project reporting. The first item is the critical path. This of the
highest importance to the project manager and the organization. Reports showing the tasks can be
presented to company executives. An analysis of work loads can be done. Task reports can be
printed. In time, as completion percentages are entered for tasks, the project manager can run status
reports showing progress and schedule tracking.
2002633 Page 7
Software Engineering BTCS 506-18
Practical-2
Finding the right project management solution for your team can be very hard. Finding an open
source project management solution may be even harder. That's the mission of a solution that allows
teams to collaborate throughout the project life cycle. Additionally, the project aims to replace
proprietary software like Microsoft Project Server or Jira.
Mission of OpenProject
The mission of OpenProject can be quickly summarized: we want to build excellent open source
project collaboration software. And when I say open source, I meant it. We strive to make
OpenProject a place to participate, collaborate, and get involved—with an active, open- minded,
transparent, and innovative community.
Companies have finally become aware of the importance of project management software and also
the big advantages of open source. But why is it that project teams still tend to switch to old-
fashioned ways of creating project plans, task lists, or status reports with Excel, PowerPoint, or
Word—or having other expensive proprietary project management software in use? We want to
offer a real open source alternative for companies: free, secure, and easy to use.
Progress of the project is as below:-
2002633 Page 8
Software Engineering BTCS 506-18
2002633 Page 9
Software Engineering BTCS 506-18
2002633 Page 10
Software Engineering BTCS 506-18
Practical- 3
Theory:
1. Introduction
The is the Software Requirements Specification (SRS) for online shopping projectt. It describes
the functions, goals and tasks that this project performs. This is used to describe the scope of the
project and to plan the system's design and implementation.
1.1 Purpose
This document is meant to delineate the features of OSS, so as to serve as a guide to the
developers on one hand and a software validation document for the prospective client on the
other.
The Online Shopping System (OSS) for electronics item shop web application is intended to
provide complete solutions for vendors as well as customers through a single get way using the
internet.It will enable vendors to setup online shops, customer to browse through the shop and
purchase them online without having to visit the shop physically. The administration module
will enable a system administrator to approve and reject requests for new shops and maintain
various lists of shop category.
1.2 Scope
This system allows the customer’s to maintain their cart for add or remove the product over the
internet.
1.3 Definitions:
2002633 Page 11
Software Engineering BTCS 506-18
1.5 Overview:
This system provides an easy solution for customers to buy the product without going to the shop
and also to shop owner to sale the product.
This proposed system can be used by any naïve users and it does not require any educational
level,experience or technical expertise in computer field but it will be of good use if user has the
good knowledge of how to operate a computer.
2. Overall Description:
The Online Shopping system (OSS) application enables vendors to set up online shops,
customers to browse through the shops, and a system administrator to approve and reject requests
for new shops and maintain lists of shop categories. Also the developer is designing an online
shopping site to manage the items in the shop and also help customers to purchase them online
without visiting the shop physically.The online shopping system will use the internet as the sole
method for selling goods to its consumers.
This product aimed toward a person who don’t want to visit the shop as he might don’t get time
for that or might not interested in visiting there and dealing with lot of formalities.
2002633 Page 12
Software Engineering BTCS 506-18
User should be familiar with the terms like login,register,order system etc.
3. Specific Requirements:
2002633 Page 13
Software Engineering BTCS 506-18
3.1 Description:
3.1.1 Registration
If customer wants to buy the product then he/she must be registered, unregistered user can’t go
to the shopping cart.
3.1.2 Login
Customer logins to the system by entering valid user id and password for the shopping.
Changes to cart means the customer after login or registration can make order or cancel order of
the product from the shopping cart.
3.1.4 Payment
In this system we are dealing the mode of payment by Cash.We will extend this to credit
card,debit card etc in the future.
3.1.5 Logout
After ordering for the product,the system will sent one copy of the bill to the customer’s Email-
address and another one for the system data base.
2002633 Page 14
Software Engineering BTCS 506-18
time.
● Security
● Reliability
● Maintainability
● Portability
● Extensibility
● Reusability
● Compatibility
● Resource Utilization
Outcome: Students will learn how to prepare the SRS Document and Design phase
document.
2002633 Page 15
Software Engineering BTCS 506-18
Practical -4
2. Approach
A. Approach Description
The general methodology/approach for SDLC Development/Unit Testing at ITS will involve the following
steps:
Initial planning efforts for this phase will include the establishment of:
A project status reporting approach.
A defect tracking approach.
A metric collection approach for the phase.
(If New Hardware or Configuration) Perform SDLC Environment Setup & Validation Process (9000)
The guidelines for Development and Unit Test work will be:
Eliminate Objects to be obsoleted. System Testing will be the only verification of success for these
changes.
For Objects with Design Documents (S300 – Design Document) the following steps are performed:
Code the Design.
Develop the Unit Test Plan.
Review Code and Unit Test Plan if functionality has been added or changed.
Unit Test the Coded Objects.
Review and Approve the Unit Testing results.
2002633 Page 16
Software Engineering BTCS 506-18
The order in which the Objects should be Developed and Unit-Tested will be based upon all of the following:
Priority assigned.
Grouping of all objects for a Business Process.
Direction of the SDLC Lead or Project Manager.
Ordering of System Testing and Acceptance activities.
Ordering of Objects from Design Phase.
Availability of Test Data.
Steps involved in Coding are as follows:
Review and understand the information in the S300 Design Document.
Determine exactly which objects will need to be changed and update the S300 Design Document to
include that information.
Notify any other ITS units affected by the changes made to the S300 Design Document.
Code the Object using the PS Programming Standards and Guidelines in Lotus Notes. Also refer to the
Development and Unit Test Checklists as informational guidelines.
Notify the Project Manager of any needed changes or additions to the PS Programming Standards and
Guidelines. An interim working standard will be developed to meet this need.
Steps to develop an S404 Unit Test Plan for each S300 Design Document:
Define the conditions to be tested based on functional requirements and include
conditions that exercise every path of new or changed logic.
Follow the Unit Test Process Guidelines in Lotus Notes.
Refer to the Upgrade Unit Test Checklist as an informational guide in the creation,
execution and review of the Unit Test Plan.
Organize testing into cycles to simplify troubleshooting and analysis of results.
Prepare the test model with input data and expected results.
Determine and document test data.
Test good data and boundary conditions.
Ask for Designer’s assistance if needed when identifying and/or creating data
needed for testing.
Follow Test Data Creation Guidelines in Lotus Notes.
Conduct Code and Test Plan Review.
Attendees could include: Tech Lead, Peer, and Designer.
2002633 Page 17
Software Engineering BTCS 506-18
Verify the following of Programming and Unit Testing Standards and Guidelines found
in Lotus Notes.
Utilize the Software Development and Unit Test Checklists as informational guidelines
during reviews.
Update the Unit Test Plan with the appropriate Signoff/Approval signatures.
If the Code and/or Test Plan is not approved, make necessary changes and conduct a
re-review.
Review and obtain signoff of Unit Test results, updating the S404 Unit Test Plan with the appropriate
Signoff/Approval signatures.
Update the Tracking Spreadsheet/Database.
Migrate the Object(s) to the System Test environment in a planned release.
C. Metrics To Utilize
Metrics that will be tracked include but are not limited to:
Percentage of Objects with Unit Testing complete
From Planview – Time Reported and ETC (Estimated Time to Completion) updates.
2002633 Page 18
Software Engineering BTCS 506-18
Effort Rate
Burn Rate
Green/Yellow/Red tasks.
D. Status/Issues Meetings
During Development/Unit Testing, it is recommended that a weekly status meeting be held at the same
scheduled time on the same day each week. This meeting will support a communication process to inform the
project team of status, problems or issues, and changes. The Agenda will include a review of open high and
medium issues, Unit Test plans, and any action items from the previous week. Meeting minutes should be
taken that include a list of attendees, discussion points, and action items. TIO/AIG, Module Leads, Data
Delivery, Access Services groups etc. should be represented in the meeting, as needed.
E. Acknowledgement
Where deliverables require “acknowledgement”, this means that the responsible party has reviewed the
documentation and feels that the documentation was sufficient. It is important to define who is responsible for
reviewing and approving any results or documentation early in the project lifecycle.
4. Assumptions and Risks
A. Assumptions
The following assumptions are critical to the successful accomplishment of this Approach to Development/Unit
Testing:
An S404 Unit Test Plan is created for each S300 Design Document.
If the Design included cross-functional input and review, then the unit test should also include cross-
functional input and review.
Both Technical and Functional knowledge resources should have input to test plan and results review.
The Designs should be referenced with the Unit Test Plan through document naming and repository
standards as a minimum.
Test Plan and Results Signoff may be different for each team. A provision should be made for Reviewer
and cross-functional Review if needed.
This approach makes the following assumptions for the System Test Phase:
Testing will be conducted for each Business Process.
Reusable test conditions will be utilized, which may include the use of reusable test scripts.
2002633 Page 19
Software Engineering BTCS 506-18
B. Risks
Completion of Design Phase misses targeted schedule.
5. Deliverables
Deliverables from the Project Manager
The following deliverables are required.
Updated Development/Unit Test Phase Approach Document, if needed.
Work Breakdown Structure (WBS)/Schedule - updated tasks and adjusted hours. This is required at
the beginning of the Development/Unit Test Phase, in order to put the WBS into PlanView for tracking
and reporting.
2002633 Page 20
Software Engineering BTCS 506-18
Appendix
A. Definitions
Unit Test Testing individual modules and programs, and testing them in
sufficient context to insure that work flows correctly through the
affected business process.
Volume/Stress Test Validates that critical functions will meet production performance
requirements
Regression Test Ensures that the application doesn’t negatively impact previously
migrated objects/modules. Re-tests the application to ensure that
the application performs correctly after a package upgrade or
change.
2002633 Page 21
Software Engineering BTCS 506-18
Practical-5
SCM is also known as software control management. SCM aims to control changes introduced to
large complex software systems through reliable version selection and version control.
The SCM system has the following advantages:
Reduced redundant work.
Effective management of simultaneous updates.
Avoids configuration-related problems.
Facilitates team coordination.
Helps in building management; managing tools used in builds.
Defect tracking: It ensures that every defect has traceability back to its source.
Benefits of Software Configuration Management
SCM provides significant benefits to all projects regardless of size, scope, and complexity. Some of
the most common benefits experienced by project teams applying the SCM disciplines described in
this guide are possible because the SCM system:
Organization
Being that Configuration Management is like the framework for greater information
management programs, it should go without saying that it is critical for greater management
and organization of information as a whole. With a well-ordered system in place, a good
IT worker should be able to see all of the past system implementations of the business, and
can better address future needs and changes to keep the system up to date and running
smoothly.
2002633 Page 22
Software Engineering BTCS 506-18
Reliability
Nothing is worse than an unreliable system that is constantly down and needing repairs
because a company’s configuration management team is lacking in organization and pro-
activeness. If the system is used correctly, it should run like the well-oiled machine that it
is, ensuring that every department in the company can get their jobs done properly.
Increased stability and efficiency of the system will trickle down into every division of a
company, including customer relations, as the ease and speed in which their problems can
be solved and information can be accessed will surely make a positive impact.
Cost Reduction and Risks
Like anything else in business, a lack of maintenance and attention to details can have
greater risks and cost down the line, as opposed to proactive action before a problem arises.
Configuration Management saves money with the constant system maintenance,
record keeping, and checks and balances to prevent repetition and mistakes. The organized
record keeping of the system itself saves time for the IT department and reduces wasted
money for the company with less money being spent on fixing recurring or nonsensical
issues.
SCM Process
The software configuration management process defines a series of tasks that have four primary objectives:
To identify all the items that collectively defines the software configuration.
To manage changes to one or more of these items.
To facilitate the construction of different versions of an application.
To ensure that software quality is maintained as the configuration evolves over time.
2002633 Page 23
Software Engineering BTCS 506-18
Risk Management
A risk is any anticipated unfavourable event or circumstance that can occur while project is being
developed
The project manager needs to identify different type of risk in advance so that the project deadlines don’t
get extended
There are three main activities of risk management
Risk identification
The project manager needs to anticipate the risk in project as early as possible so that the impact of
risk can be minimised by using defective risk management plans
Following are the main types of risk that need to be identified
Project risk:- these include
Resource related issues
Schedule problems
Budgetary issues
Staffing problem
Customer related issues
Technical risk := includes
Potential design problems
2002633 Page 24
Software Engineering BTCS 506-18
2002633 Page 25
Software Engineering BTCS 506-18
Practical -6
2002633 Page 26
Software Engineering BTCS 506-18
Figure: - 6.1
Layer 1 is the user interface whose function is to help the user to interact with core of
the system. It provides a graphical user interface to users using which interaction with the
system become easy.
Layer 2 depicts tool management system (TMS) which constitutes multiple tools of different
category using which automation of the development process can be done. TMS may include
some tools to draw diagrams or to generate test cases.
Layer 3 represents object management system (OMS) which represents the set of objects generated
by the users. Group of design notations, set of test cases (test suite) are treated as the objects.
Layer 4 represents a repository which stores the objects developed by the user. Layer 4 is nothing
but a database which stores automation files.
Components of CASE Tools: - CASE tools can be broadly divided into the following parts
based on their use at a particular SDLC stage:
Central Repository - CASE tools require a central repository, which can serve as a source of
common, integrated and consistent information. Central repository is a central place of storage
where product specifications, requirement documents, related reports and diagrams, other useful
information regarding management are stored. Central repository also serves as data dictionary.
2002633 Page 27
Software Engineering BTCS 506-18
Upper Case Tools - Upper CASE tools are used in planning, analysis and design stages of
SDLC.
Lower Case Tools - Lower CASE tools are used in the implementation, testing and
maintenance stages.
Integrated Case Tools - Integrated CASE tools are helpful in all the stages of SDLC, from
Requirement gathering to Testing and documentation.
Figure: - 6.2
2002633 Page 28
Software Engineering BTCS 506-18
2002633 Page 29
Software Engineering BTCS 506-18
any maintenance effort. CASE tools should result in better systems being developed in the first place.
Problems associated with CASE tools
Need for organization - wide commitment: To be used effectively, CASE tools require the
commitment of the organisation. Every member of the development team must adhere to the
standards, rules and procedures laid down by the CASE tool environment.
Unrealistic expectations: CSE tools cannot replace experienced business/systems analysts and
designers. They cannot automatically design a system nor can they ensure that the business
requirements are met. Analysts and designers still need to understand the business environment and
identify the system requirements. CASE tools can only support the analytical skills of the developers,
not replace them.
Long learning curve: CASE is technical software. It will take time for the development team to get
use to flow and use it effectively for development work.
Costs of CASE tools: CASE tools are complicated software packages and are, therefore, expensive
to buy. In addition to the initial costs, there are many ‘soft’ costs that have to be considered. These
‘soft costs’ include integration of the new tool, customising the new tool, initial and on-going
training of staff, hardware costs and consultancy provided by the CASE tool vendor.
2002633 Page 30
Software Engineering BTCS 506-18
Practical-7
Aim : To perform unit testing and integration testing.
Unit Testing:- Unit testing, a testing technique using which individual modules are tested to
determine if there are any issues by the developer himself. It is concerned with functional correctness
of the standalone modules. The main aim is to isolate each unit of the system to identify, analyze
and fix the defects.
Figure: - 7.1
Defects are found at an early stage. Since it is done by the dev team by testing individual pieces of
code before integration, it helps in fixing the issues early on in source code without affecting other
source codes.
2002633 Page 31
Software Engineering BTCS 506-18
It helps maintain the code. Since it is done by individual developers, stress is being put on making
the code less inter dependent, which in turn reduces the chances of impacting other sets of source
code.
It helps in reducing the cost of defect fixes since bugs are found early on in the development cycle.
It helps in simplifying the debugging process. Only latest changes made in the code need to be
debugged if a test case fails while doing unit testing.
Disadvantages:
It’s difficult to write good unit tests and the whole process may take a lot of time
A developer can make a mistake that will affect the whole system.
Not all errors can be detected, since every module it tested separately and later different
integration bugs may appear.
Testing will not catch every error in the program, because it cannot evaluate every execution
path in any but the most trivial programs. This problem is a superset of the halting problem,
which is un decidable.
The same is true for unit testing. Additionally, unit testing by definition only tests the
functionality of the units themselves. Therefore, it will not catch integration errors or broader
system-level errors (such as functions performed across multiple units, or non-functional test
areas such as performance).
Unit testing should be done in conjunction with other software testing activities, as they can
only show the presence or absence of particular errors; they cannot prove a complete absence
of errors.
To guarantee correct behaviour for every execution path and every possible input, and ensure
the absence of errors, other techniques are required, namely the application of formal methods
to proving that a software component has no unexpected behaviour.
2002633 Page 32
Software Engineering BTCS 506-18
between systems.
Also after integrating two different components together we do the integration testing. As displayed
in the image below when two different modules ‘Module A’ and ‘Module B’ are integrated then the
integration testing is done.
2002633 Page 33
Software Engineering BTCS 506-18
Fig 7.4
Advantage: Big Bang testing has the advantage that everything is finished before integration
testing starts.
Disadvantage: The major disadvantage is that in general it is time consuming and difficult to
trace the cause of failures because of this late integration.
Top-down integration testing: Testing takes place from top to bottom, following the control
flow or architectural structure (e.g. starting from the GUI or main menu). Components or systems
are substituted by stubs. Below is the diagram of ‘Top down Approach”
2002633 Page 34
Software Engineering BTCS 506-18
Fig 7.5
Fig 7.6
2002633 Page 35
Software Engineering BTCS 506-18
System Testing: - System Testing (ST) is a black box testing technique performed to evaluate
the complete system and the system's compliance against specified requirements. In System testing,
the functionalities of the system are tested from an end-to-end perspective. System Testing is usually
carried out by a team that is independent of the development team in order to measure the quality of
the system unbiased. It includes both functional and Non- Functional testing.
Fig 7.7
2002633 Page 36
Software Engineering BTCS 506-18
Practical- 8
Aim: To perform various white box and black box testing techniques.
2002633 Page 37
Software Engineering BTCS 506-18
The testing can be done at system, integration and unit levels of software development. One of
the basic goals of white box testing is to verify a working flow for an application. It involves
testing a series of predefined inputs against expected or desired outputs so that when a specific
input does not result in the expected output, you have encountered a bug.
Statement coverage:
2002633 Page 38
Software Engineering BTCS 506-18
In a programming language, a statement is nothing but the line of code or instruction for the
computer to understand and act accordingly. A statement becomes an executable statement
when it gets compiled and converted into the object code and performs the action when the
program is in a running mode.
Hence “Statement Coverage”, as the name itself suggests, it is the method of validating whether
each and every line of the code is executed at least once.
Branch Coverage:
“Branch” in a programming language is like the “IF statements”. An IF statement has two
branches: True and False. So in Branch coverage (also called Decision coverage), we validate
whether each branch is executed at least once.
In case of an “IF statement”, there will be two test conditions:
One to validate the true branch and,
Other to validate the false branch.
Hence, in theory, Branch Coverage is a testing method which is when executed ensures that
each and every branch from each decision point is executed.
more powerful than Branch coverage. This technique is useful for testing complex programs.
Unit Testing: It is often the first type of testing done on an application. Unit testing is
performed on each unit or block of code as it is developed. Unit Testing is essentially done by
the programmer. As a software developer, you develop a few lines of code, a single function or
an object and test it to make sure it works before continuing. Unit testing helps identify majority
of bugs, early in the software development lifecycle. Bugs identified in this stage are cheaper
2002633 Page 39
Software Engineering BTCS 506-18
Testing for Memory Leaks: - Memory leaks are the most important causes of slower running
applications. A QA specialist who is experienced at detecting memory leaks is essential in cases
where you have a slow running software application. There are many tools available to assist
developers/testers with memory leak testing, example, Rational Purify for windows application.
Apart from above a few testing types are part of both black box and white box testing. They are
listed as below:
White Box Penetration Testing: In this testing, the tester/developer has full information of the
application's source code, detailed network information, IP addresses involved and all server
information the application runs on. The aim is to attack the code from several angles to expose
security threats
White Box Mutation Testing: Mutation testing is often used to discover the best coding
techniques to use for expanding a software solution.
Integration Testing: - Integration testing is a level of software testing where individual units
are combined and tested as a group. The purpose of this level of testing is to expose faults in
the interaction between integrated units. Test drivers and test stubs are used to assist in
Integration Testing.
2002633 Page 40
Software Engineering BTCS 506-18
2002633 Page 41
Software Engineering BTCS 506-18
maintenance to check the new code has not affected the existing code.
Result: Various white box and black box testing techniques has been performed.
2002633 Page 42
Software Engineering BTCS 506-18
Practical- 9
Introduction:-
Web Testing, or website testing is checking your web application or website for potential
bugs before its made live and is accessible to the general public. Web Testing checks for
functionality, usability, security, compatibility, performance of the web application or
website.
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 traffic is checked.
Functionality testing of a Website is a process that includes several testing parameters like user
interface, APIs, database testing, security testing, client and server testing and basic website
functionalities. Functional testing is very convenient and it allows users to perform both manual
and automated testing. It is performed to test the functionalities of each feature on the website.
Web based Testing Activities includes:
Test all links in your webpages are working correctly and make sure there are no broken links.
Links to be checked will include –
Outgoing links
Internal links
Anchor Links
MailTo Links
2002633 Page 43
Software Engineering BTCS 506-18
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
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
Testing your end – to – end workflow/ business scenarios which takes the user through a series
of webpages to complete.
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. Usability testing
2002633 Page 44
Software Engineering BTCS 506-18
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
3. 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.
Database Testing:
Database is one critical component of your web application and stress must be laid to test it
thoroughly. Testing activities will include-
Test data retrieved from your database is shown accurately in your web application
Compatibility testing.
Compatibility tests ensures that your web application displays correctly across 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.
Performance Testing:
This will ensure your site works under all loads. Software testing activities will include but not
limited to –
7. Security testing:
Security Testing is vital for e-commerce website that store sensitive customer information like
credit cards. Testing Activities will include-
8. Crowd Testing:
You will select a large number of people (crowd) to execute tests which otherwise would have
been executed a select group of people in the company. Crowdsourced testing is an interesting
and upcoming concept and helps unravel many a unnoticed defects.
This concludes the tutorial. It includes almost all testing types applicable to your web application.
As a Web-tester its important to note that web testing is quite an arduous process and you are
bound to come across many obstacles. One of the major problems you will face is of
course deadline pressure. Everything is always needed yesterday! The number of times the code
will need changing is also taxing. Make sure you plan your work and know clearly what is
expected of you. Its best define all the tasks involved in your web testing and then create a work
chart for accurate estimates and planning
2002633 Page 47
Software Engineering BTCS 506-18
Practical- 10
2002633 Page 48
Software Engineering BTCS 506-18
2002633 Page 49
Software Engineering BTCS 506-18
2002633 Page 50
Software Engineering BTCS 506-18
2002633 Page 51
Software Engineering BTCS 506-18
2002633 Page 52
Software Engineering BTCS 506-18
Practical- 11
2002633 Page 53
Software Engineering BTCS 506-18
Initial states: The starting stage before an activity takes place is depicted as the initial state
Final states: The state which the system reaches when a specific process ends is known as a
Final State
State or an activity box:
Decision box: It is a diamond shape box which represents a decision with alternate paths. It
represents the flow of control.
3. Click. The Diagram type dialog box closes and the Diagram Window opens with an Activity
Diagram labeled.
2002633 Page 55
Software Engineering BTCS 506-18
Practical- 12
2002633 Page 56
Software Engineering BTCS 506-18
Set up a new schema (Right click on logical view, choose data modeler, new, schema.)
Open the schema specification.
Associate it with the database you have created.
2002633 Page 57
Software Engineering BTCS 506-18
Transform the objects to data. Right click on the package that holds the classes in
the Logical view.
Choose data modeler
Choose ‘Transform to data model’
Fill in destination schema and target database that you have set up. Execute the
transformation. (To see your tables, expand the schema. If they aren’t there, maybe you
didn’t make them persistent?).
To see your data model, right click on the schema, choose data modeler, new, data model
2002633 Page 58