You are on page 1of 115

Report File MAJOR PROJECT On

VIRTUAL STOCK EXCHANGE


Submitted by

Sunil Kumar Baithadiya


B.Tech.(IT)-8thSEM A20405308048

under the guidance of Mr. Sunil Vyas

Amity School of Engineering and Technology

AMITY UNIVERSITY RAJASTHAN

ACKNOWLEDGEMENT
It is said that what you have said is PAST, what you have done is HISTORY, what you have WRITTEN lasts till the end, Hence I would take this opportunity to thanks some of the important persons who made our project a fruitful experience. We would like to thank Prof. Om Vir Singh, Director, Amity School of Engineering & Technology. We specially thank Ms. Richa Arya for his excellent co-operation and support extended to us during this period, which helped us to understand the project. We express our heartfelt gratitude to Mr. Sunil Vyas, for providing us with endless support and encouragement in all our endeavours at every moment during our project.

Sunil Kumar Baithadiya B.Tech(IT)-8th SEM (AUR0824042)

TABLE OF CONTENTS

1. Abstract........
1.1 Project Proposal 1.2 Project Plan

2. Software Development Life Cycle..............................................................


2.1. Compiled SRS Document 2.2. Design Diagram

3. System Design Document 4. Software Testing .


4.1. System Test Plan 4.2. Test Cases 4.3. Test Result

5. Conclusion 6. Snapshots............................. 7. Future Prospect............................................................................................... 8. References.....................................................................................................

ABSTRACT

Virtual Stock Exchange (VSE)

Project Proposal

Introduction:
As a part of the project, our project team (team of $) has duly decided to concentrate their efforts on developing an online virtual stock trading game dealing particularly in the trading of equity. We aim to collect the live stock exchange rates and integrate it into our virtual trading game so as to give the end users the semi-real time experience (user considered as standalone entity and he, on his trading will not be capable to change prices of a given share) of trading in the market with only a slight difference, i.e. their virtual assets only at stake, rather than the real ones.

Problem this project addresses:


Time today, is the period of competitiveness. Everybody is running the race only to outrun the others in any possible manner. There are some who just want to find means to access knowledge and information to get an edge over others. While there are some who just want access to information only because of their curiosity .With the economies booming at quite admirable paces today, a good source of information and knowledge can be learned about the same from the market. A great amount of research is being done to predict the behavior of these markets. But there are some individual who have the reputation of predicting the markets with the experience in trading they carry with them. Now for a normal person to get the real experience of the market could mean to put a great deal of money at stake into the market. This is obviously not feasible for everyone. Thus they lose out their opportunity to get the experience of the market.

Goal:
We intend to develop an online game that addresses the problem stated above. We aim to provide our users with the semi-real time (because of the reason mentioned in introduction) market experience without staking their money. We intend to achieve this by providing the virtual trading ground to our users with a sum of fixed virtual money and all the key features that shall help them trade efficiently and also at the same time provide them the opportunity to learn about the market and associated technicalities.

Capabilities to deliver to the project:


We are a team of 4 members and we possess a great deal of enthusiasm towards the technology and utilizing it in ways that shall provide others with a good learning opportunity and also at the same time entertainment. We all are pursuing our B.Tech in Information Technology, thus each and every member has something good to offer to the project. We also have in our team few members who have a great deal of experience in trading in the real life. This provides us with a good understanding of the needs and features that we shall implement into our project.

Stakeholders:
Name Mr. Sunil Vyas Sunil Kumar Baithadiya Sahil Bhalwal Gaurav Rajpurohit Varun Vashisth Project Guide Team Leader Team Member Team Member Team Member Role

Project Scope:
Applicability:
This game is for everyone whether you are a Student, Office Working, Part time blogger, Housewife or simply a computer (internet) user. This is for all those who wish to invest in real market but dont really think that they have the proficiency enough at the given time to put the real money at stake. It helps you building your Portfolio better and better. This endeavor of ours can also be a source of entertainment to those who only want to play it as a game.

Project Environment:
Since we are developing a website, our project will be Operating System independent. The end user will simply need a browser to log on to our website and will be able to explore the website. We intend to make the full use of only the open-source resources for our project, but as and when needed we might make use of the licensed software as well.

Implementation issues and challenges:


1) Since never before some in our team has the experience in developing a website, hence for this project a learning of the same will be required. 2) Not everyone in our team has the knowledge and awareness about the different features that are provided by the online brokers to their customers; hence we need to learn about them first so that we are able to implement the same for our website. 3) We need to figure out an efficient algorithm which will keep track of all the price changes that are taking place on the Live Stock Exchange and integrate the same into our website with the minimum lag possible.

Project Features:
Features that define the Product:
We will include in the website the features that are all present there in a real trading website. Features that we will be including are : 1) Providing the user with all the three trading (virtual here) options Future Delivery Intra-day 2) Market Watch: - Providing the feature of market watch, from where he/she will be able to see the current prevailing rates in the market of selected share company. 3) Order book 4) Trade History: - Providing user all the records of his previous transactions. 5) Limits (Buying and Selling)

What we are not going to do:

There are certain features that are there in real trading websites, but due to the limitations of our website being only a ground for virtual trading, there are some features which irrelevant to provide. Like for example, we wont provide for the feature of fund transfer. Also our website will give a semi-real experience because we consider user as standalone entity and he, based on his trading will not be capable to change prices of a given share. So we will not be implementing a model which would change the prices of shares based on the trading of the user.

Assumptions:
During the course of developing this product there are some high-level assumptions that we have made. We are assuming that the end-user will be: 1) Familiar with English. We are not providing multi-language support. 2) Familiar with the use of computers and he is capable to browse through the website to explore the feature, though we also will be providing an online user-manual that shall explain all the features supported in project website. 3) The trading done by the user has a zero or negligible effect on the prices, hence we are not changing the prices based on a certain model used by websites like Reliance Money. 4) User considered as standalone entity and he, on his trading will not be capable to change prices of a given share.

Project Plan

1. Overview:
1.1 Purpose:
This document is created to act as a project plan for the software project VSE. It is a supposed explanation of the different phases of the project life cycle. It will be used as a reference during the process of software development. This document is extremely valuable for the team especially the team leader to allot resources and manage time efficiently. It also acts as a mark of the progress that the team is making. It acts as a guide for the team members ensuring that the team is moving in the right direction and has not lost sight of the set goals.

1.2 Project Objective:


The primary objective of this project is to provide a platform for people to get used to the rigors of investing in the stock market. This project helps the users to understand the functionality of stock exchange market and various terms related to it. This is accomplished by introducing virtual money. People can invest virtual money in the live stock market to gain invaluable experience which is extremely helpful. Primary objectives are:

Provide an interface for virtual stock exchange Provide the users with updated stock exchange rates Provide status of the user among the players and track record Provide semi-real time experience in terms of money and risk

1.3 Project Scope:


1.3.1 Current Perceived Scope:
To provide the interested users with interface with maximum possible features to play in stock market To provide authentic information about exchange rates etc. To provide a facility to assess themselves by going through their operational history

To observe various news articles which help in understanding fluctuations and latest news in stock exchange world. To comment and view about various topics or doubts by other players through forum.

1.3.2 Future Perceived Scope:


This system can be extended in future to add new options and features as available in real market with virtual money. At present, this website is expected to run on DA-IICT College LAN and the users are assumed to be a part of this college. We can make this site go on Internet and host it for general public. And this site can be given as open source.

1.3.3 Users of System:


This product can be used by anyone who is a legal part of DA-IICT and who has access to Internet. It is relatively more useful to budding stock market investors and also the experienced campaigners of the college. For a more casual user, it acts as an interesting tool to understand the working of stock exchange and a very educational one at that which arouse interest towards stocks.

1.4 Assumptions and Constraints:


It is assumed that the user has sufficient knowledge of working with a web browser and possesses one. It is also assumed that the user has a good internet connection ( atleast 20 kbps) so as to minimize the delay of updating of the stock prices. He/She is expected to use their college id to register on site and provide with an email to recover password in case they forget it.

1.5 Project Deliverables:


1.5.1 Software Product:

The website application is deployed on localhost. After the website deployment, users can create their account and obtain the virtual money and start their transactions. Source code will be provided for further maintenance and extending the scope of the project.

1.5.2 Deployment Plan:


Proper document is provided which describes all the steps and guidelines required to deploy on the server and make the website alive.

1.5.3 Documents:
At the end of this course, the following documents are provided along with the software:

Proposal: This document provides complete information about the proposed features and the tentative time required for each phase of project. Feasibility Analysis: This document gives details about economic, operational and technical feasibility of this project. Project Plan: This document gives details about project purpose, scope, risk management and roles of team work. Software Requirements Specification: This document gives information about the requirements of the end users. At the end of the project, this helps in understanding the use cases and basic technical details of the website. Design Model: This used as essential input to activities in implementation and testing. During implementation, this is referred for realization of use cases and implementation model. System Test Plan: This provides goals and objectives of testing in our project context and the approach taken to fulfill the same. User Manual: This document acts as a technical document which clearly explains all the options and features of project and how to handle the problems occurring in the course of project usage.

2. Definitions:
3.1 Acronyms:
VSE: Virtual Stock Exchange LAN: Local Area Network

3. Project Organization:
4.1 Approach:
This project is developed in a team of 10 members. The team will be meeting in group meetings twice or thrice every week to discuss about the next target, work distribution among members and tentatively deciding the completion of it. After the completion of work, it is reviewed by other group member and group leader and then submitted. Frequent meetings with Professor and TAs will help us in giving the suggestions related to projected and resolve the confusion in implementation etc. This project development is planned to follow the phases like proposal, feasibility, requirement gathering, learning of the technology or programming language required to implement, SRS documentation, software architecture and design, coding, testing and debugging. Continuous evaluation of the quality of work produced in each phase and each group member is discussed in the corresponding group meetings.

The Hierarchical Diagram


Project Guide: Mr. Sunil Vyas

Project TA

Project Members

Team Leader: Sunil

Sahil

Varun

Gaurav

4.4Roles and Responsibilities:


Group Member Sunil Kumar Baithadiya Role and Responsibility Team Leader, assign work to all group members, Coding and Review Documents Documentation and Coding, Data Extraction Coding and Testing, testing Gather Relevant information from RC and Internet, coding, Design, testing

Sahil Bhalwal Varun Vashisth Gaurav Rajpurohit

4.5 Resource Estimation:


4.5.1 Software Components:
Operating System: Microsoft Windows XP or above, Linux, Mac-OS Tiger or above. Server: Apache Tomcat Server Tools: My Eclipse IDE, Microsoft Office, Adobe Photoshop, Dreamweaver, NuSphere PHP IDE, Python Interpreter and Modules, Wamp or Xampp server, Browser. Project Management tool: MS Project Database: MySql database

4.5.2 Hardware Components:


Intel 2.4 P4 Processor or above, 40 GB Hard Disk or above, 1 GB RAM or above and other basic peripherals.

4.5.3 Human Resources:


A team of 4 members

4. Managerial Process Plans:


5.1 Startup Plan:
The plan is chalked out keeping in mind the maximum available time for completion i.e. three months. Before commencing the development phases, deadlines for each phase will be decided to

ensure a smooth process. The decision of deadlines will take into consideration the holidays as per

Project Phase

Goal

Deadline (tentative)

Approach Taken

End result/Output Feasibility Report, Cost Benefit Analysis results, Project Plan SRS

Initial Study

Establish a high-level view 17th January of the project and analyze its functioning feasibility

Broadly looking for market opportunities and current trends

Requirements Analysis Project Design

Analyze end user needs and specifications Describe the desired features in detail using diagrams and pseudo code Code the modules

28th February 15th March

Interaction with users, interviews, questionnaire UML Diagrams

Design Documents, Test benches

Implementati on Integration and Testing

8th March

Coding

Operational system Relatively bugfree operational system Production-ready operational system Updated/Improv ed System

Bring the pieces together and check for errors and bugs Run in the actual intended environment

12th April

Integrate the modules and apply the test benches developed earlier Deploy the system

Installation/D eployment

12th April

Maintenance

Introduce new functionalities, fix new found bugs

After 12th April

Improve performance according to the new system specifications and add new functionalities

the academic calendar.5.1.1: Staffing Plan: This will specify The number of staff required by skill level. Our team consists of 10 project members.

The project phases in which the number of personnel and types of skill are needed along with the duration of need. This is depicted in the following table:

5.1.2 Resource Acquisition Plan:


The technologies to be used in the project are open source hence the resource acquisition is fairly easy. However the backbone of this project is the live stock prices. We will be acquiring these prices from the NSE database with proper permissions.

5.2 Work Plan:


This specifies the work activities, schedules and resource details for the project.

5.2.1 Work Activities:


Work activities in the project development are mentioned above as staffing plan and project phases.

5.2.2 Schedule Allocation:


The deadlines for the development process are as follows Milestones Discussion and Consultation Deciding the Project Problem Discussion about Project Problem Identifying the Project Proposal Feasibility Report Project Plan Requirement Study Requirement Analysis SRS Initial Version Final Requirement Study Start Date 3th Jan 2011 7th Jan 2011 10th Jan 2011 14th Jan 2011 15th Jan 2011 20th Jan 2011 18th Jan 2011 End Date 7th Jan 2011 10th Jan 2011 13th Jan 2011 17th Jan 2011 18th Jan 2011 24th Jan 2011 28th Feb 2011

SRS final Draft

20th Feb 2011

28th Feb 2011

System Design Implementation and Coding Integration Unit testing and System Testing Deployment

26th Feb 2011 10th Feb 2011 7th April 2011 8th April 2011 12th April 2011

16th March 2011 8th April 2011 10th April 2011 12th April 2011 -

5.2.3 Resource Allocation:


Resources will be allocated during each phase according to its requirements and goals. This is specified in the Staffing Plan Table. Appropriate personnel from the team will be assigned to do a job in a particular phase according to their skill range. The technologies to be used in the project will be available to every member of the team.

5.3

Control Plan:

The control plan specifies the metrics, reporting mechanisms, and control procedures necessary to measure, report, and control the product requirements, the project schedule, budget, and resources, and the quality of work processes and work products.

5.3.1 Requirements Control Plan:


Each phase of the work is sub divided into modules and distributed amongst the group members. After the completion of the specified work, informal review i.e., among the members of sub group and formal review i.e., by TA or technical personnel. And the progress of each piece of work is verified against the tentative dates and corresponding updating should be done in other phases in order to meet deadlines of delivering the final project. This continuous review approach is useful to estimate the requirements of the project and any change in the scope or information required can be obtained at the same phase. This will simplify the process of updating the software design.

5.3.2 Schedule Control Plan:


Meetings will be held twice or thrice a week to track the progress of the ongoing phase. Discussions to improve the efficiency of the process will take place if required. Corrective measures will be discussed and implemented in case the progress is heading the wrong direction. Deadlines will be allocated in a way that corrective measures can be implemented without getting behind schedule.

5.3.3 Reporting Plan:

The team members are supposed to meet in the scheduled group meetings to report their work and to discuss their queries. Summary of each group meeting is noted down by our project manager. Information exchange through group members is carried down using webmail. In case of coding and testing phases, group members are supposed to give their progress face to face to project manager. Any information exchange between group members is carried out with the help of DropBox and the purpose and outcome of each and every group meeting are noted down to assess our project progress.

5.4

Risk Management:

In course of this 4 month project, we encounter with no. of risks. Below gives the risks which we probably encounter and way to track and provide a solution:

Database Crash: In case of database crash with data loss in the server, then last updated good configuration should be set up. To avail this, we need to have a proper backup for all this security related information. Unavailability of Technical Resources: Required technology for the intermediate phase can be downloaded through internet resources available in the college. And freeware are to be used in order to avoid inconvenience in obtaining license of the software. Human Resources: In the situations where a group member is not available, then the corresponding work should be divided among other members. Wrong Way of Approach: If the software development is losing the track of the proposed plan, then extra time is spent in completing the previous module and taking the suggestions of TAs.

6 Technical Process Plans:


6.1

Method, tools and techniques:


Implementation is carried out mostly in PHP, Javascript, Python, HTML. Database requirements are met by MySQL and server used would be Apache. The design part of the project can be carried out by using Rational Enterprise Suite.

6.2

Acceptance Plan:

The delivered project should meet following requirements to be accepted by the client: User friendly with proper documentation Meet the requirements specified in SRS Submitted within the given deadline Proper user manual for easy understanding of the features and its implementation Facility to contact developers for maintenance during deployment

7 Learning Plan:
Group members are provided with their job for rest of the project development process. All of them who are related to coding are supposed start learning required programming languages PHP and SQL to deal with the database part. Members related to requirement gathering are supposed to start making a plan of organizing the phases of requirement collection and submitting it to the group leader. Members related to documentation are supposed to be familiar with the templates required to prepare an appropriate document. Any further clarifications can be cleared in scheduled group meetings.

Compiled SRS Document

User Case Diagram

Forum

Logout

Login News Feedback

Create an account User Ranking

Home Page Current Holdings Actor

User Info

Trade History Market Watch

Order Book

All Shares list

Use Case1: Login

Brief Description: There are accounts for all the users. They need to log in the system before they can use any features of DABBA MARKET. This use case allows the user to login to the system for experiencing the virtual stock exchange website. Users: Students Faculty Staff Flow of events: Main flow: 1. The system displays the fields for login, namely user-name and password. 2. User enters the information. Alternate flow: If the user doesn't exist then or entered user name or password is wrong then error in log in screen is displayed.

Pre-conditions: User must open the URL of the DABBA MARKET website before login. Post Conditions: The login detail is send to the concern authority and if the authentication is valid then the user will be directed to the home or main page.

Start

Login Page

User enter his username and password

no valid Show error

yes

User is directed to the home page

end

Use Case2: Create an account Brief Description: This use case allow user to create an account in the DABBA MARKET website.

Users: Students Faculty Staff Flow of events: Main flow: 1. User need to click on create an account page. 2. User have to fill these information: Full Name Sex Daiict student yes or no If yes your Student Id Birthday Current Email address Username Password Reconfirm Password Select type- 1.student 2.faculty Alternate flow: An error message will be displayed if something went wrong or in case user provides wrong information according to the constraints.

3.staff

Pre-conditions: User must open the URL of the DABBA MARKET website and need to click on create an account page.

Post-conditions: 1. New account information is send to the concern authority. 2. User will be asked to login again with his/her given username and password.

Start

Select create an account

User enter data asked in registration page

All fields are correct

no valid Show error

yes

Directed to login page

end

Use case3: Main or Home Page

Brief Description:

This Use case is the basic or main page of the website which link to all other functionalities of the DABBA MARKET website. This use case includes various functionalities and features of the system that enables Users to look for availability of different trading options provided by the DABBA MARKET website. Users: Students Faculty Staff Flow of events: 1. After login user is directed to this home page. 2. Link of these features are provided on this page: User info Market Watch Current Holdings Order book Trade history User rankings News Feedbacks Forum 3. User can click on the particular feature by selecting the feature. Pre-conditions: User must be logged in the system. Post-conditions: User has information about the features provided and can go to particular functionality page by clicking on that option.

Start

login

valid no

Show error

yes

Home page

data

end

Use case 4: View User Info Brief Description: This use case model contains the basic information of the users. This system takes information from users and stores them in database. It is like the public profile of the users. Users:

Students Faculty Staff Flow of events: 1. The system provides the information of the User involved (logged in User). 2. This model includes following field: Name Address Phone No. Email Address Sex Pre-conditions: User must be logged in the system Post-conditions: User will be able to view his/her personal details.

Start

Select user info

View info

end

Use case 5: Edit/Update Profile Brief description: This use case allow user to change or update his/her personal details. Users: Students Faculty Staff

Flow of events: 1. User click on the edit profile tag provided on user info page. 2. User enters or changes his details and saves them. The corresponding changes get updated in the database. Pre-conditions: User must be logged in. Post-conditions: User will be able to edit his/her personal details.

start

Click on edit profile tag

User changes or updates his details

end

Use case 6: View market watch list

Brief Description: User can view his/her market watch list in this use case model. This model shows information of the companies selected by the user. Users: Students Faculty Staff Flow of events: 1. User click on market watch tab provided by the system. 2. User selects the market watch list to view (on having more than one list to look at). 3. Informations displayed in market watch are: Company Name and its shares net change Its high and low market price. Pre-conditions: User must be logged in the system and shares information (price etc.) must be up to date with the current market value. Post-conditions: User has the information about particular company he/she wants to keep track on.

Start

Click on market watch tab

Select market watch list

View information display in market watch

end

Use case 7: Create a market watch list Brief Description: This use case allows user to create a market watch list.

Users: Students Faculty Staff Flow of events: 1. User click on market watch tab provide by system 2. Then user select create a market watch list by providing listname which is not used already. 3. User can add companies in this list. Pre-conditions: User must be logged in.

Post-conditions: User can create a new market watch list and add companies in them.

Start

Click on market watch tab

User select create a market watch list

Add comapny

end

Use case 8: Add Company in market watch list Brief Description: This model allows user to add or select his preferred company in market watch list. User can select limited number of companies only that is predefined by the system. Users: Students Faculty Staff

Flow of events:

Main Flow: 1. User click on market watch list in which he/she wants to create and add company. 2. User selects the company he/she wants to keep an eye on and add it. 3. These changes made by user are updated in database. Alternate Flow: If there is already enough companies (predefined by the system) and user adds another company to the list, it will display error information. Pre-conditions: User must be logged in. Post-conditions: User can add a company in market watch list. Use case 9: Order Book Brief Description: This use case allows the user to buy and sell shares .This order book is basically uses to record the interest of buyers and sellers in a particular financial instrument (shares here). Users: Students Faculty Staff

Flow of events: 1. User has to select the share which he/she wants to buy or sell. 2. Order book module consist of: Share Select trading type Number of shares Order type 3. Trading can be of any type like Intraday, delivery. User has to select among them. 4. Order type means what type of order you want like Market order, Limit Order, stop Order etc. 5. System displays information about the status of the shares and provides user with the availability of the shares depending upon his trading type. Pre-conditions: User must be logged in the system and this order should be fast (should execute on high speed net) as price keep changing at each moment.

Post-conditions: User can buy or sell shares. And corresponding entry is made in the system.

Start

Click on order book

Buy share

Sell share

end

Use case 10: Trade History Brief Description: This use case show all the transactions made by user. Users: Students Faculty

Staff Flow of events: 1. User is directed here from the home page. 2. By selecting the trade history option user can view his/her transactions. 3. This use case model contains the information of purchasing and selling of all shares that are made by user. Pre-conditions: User must be logged in the system and all transactions must be up to date.

Post-conditions: User can view his/her transactions.

Start

Home page

Select trade history

User can see his/her transaction

end

Use case 11: Current Holdings Brief Description: This use case displays information of shares that are currently being held by user. Its similar to the stock portfolio of an individual. Users: Students Faculty Staff

Flow of events: 1. The user log in the account. 2. System maintains a list of current holdings of user. User can see the list. Pre-conditions: User must be logged in the system. Post-conditions: The system displays the information of shares held by user.

start

Home page

User can see list of shares currently held by him

end

Use case 12: User Ranking Brief Description: Use case displays the ranks of existing users according to the profit they make in the DABBA MARKET ranking game. Users: Students Faculty Staff

Flow of events: 1. User log in the system to see user ranking page 2. Entry is made in user ranking page depending upon investment made by user in shares and remaining cash amount i.e. net worth 3. System display the user ranking; user ranking has three categories Daily Ranking 4. User ranking will show the top ten rankers in each category . Pre-conditions: User must be logged in. Post-conditions: User can view his/her rank and view top rankers in each category.

Start

Home page

Click on user ranking

Student Faculty

Staff

end

Use case 13: News Feedback Brief Description: This model provides the facility of giving users the latest news and updates regarding the fluctuations in the market and includes comments by stock experts about the future behavior of some chosen stocks. Users: Students Faculty Staff Flow of events: 1. User log in the system and click on feedback option provided on home page. 2. It will display the stock related articles that are provided in stock magazines, newspapers, other professional stock market websites etc. and comments by stock experts. Pre-conditions: User must be logged in the system. Post-conditions: User will be aware of latest stock news and can take precautionary steps in order to prevent loss.

Start

Home page

User can view latest market news and stock comments

end

Use case 14: Add Forums Brief Description: This use case allows user to add forums. User can share his/her view about particular share, company or any kind of information with other users. This model provides the facility of online discussion where user can hold conversation in form of posted messages. Users: Students Faculty Staff

Flow of events: Main flow: 1. User log in the system and click on forum tab provided on home page 2. User clicks on start a new forum. 3. System ask user to enter forum information. This include Forum title Enter details in forum 4. Once the user provided the details forum is added into 5. System display the forum created by user. Alternate flow: If the required field is not filled and user leaves the required field empty and wants to move to next step, system display the error message. Pre-conditions: User must be logged in the system Post-conditions: If use case is successful, the Forum is started and a mail is sent to the user.

start

User select forums

Click start new forum

User fill in forum details

User press start button

Are all mandatory fields filled Yes

No

Error Display message to enter mandatory fields

Display successfully started forum

end

Use case 15: Comment in Discussion Forums

Brief Description: This use case allows user to comment in particular forum. Users: Students Faculty Staff

Flow of events: 1. User clicks on Forums. 2. User selects one of the available Forums. 3. User Comments in that particular forum. Pre-conditions: User must be logged in.

Post-conditions: Comment of the user will be saved in database.

start

Click on forum tab

Select forum

User fills his comment

Comment is added

end

Use case 16: Logout Brief Description: Log-out is used to end users session and takes him/her to the log in page.

Users: Students Faculty Staff Flow of events: Main Flow: 1. 2. 3. 4. The system provide with a log out option User select that option System saves all changes made by the user The user is redirected to log in page

Alternate Flow: If there is connection failure, error message is displayed. Pre-conditions: User must be logged in the system Post-conditions: User is logged out.

Start

Click on log out


Connection failure

Display error message

Save all changes made by user

Directed to log in page

end

Use case 17: Change Password Brief description: This will allow user to change his/her password. Users: Students Faculty Staff

Flow of events: Main Flow: 1. User click on the edit profile tag made available to him/her. 2. Here user is asked to enter his new password and to re-enter his new password. User has to provide his old password also only then he can change his password. 3. Once the user is done a new password would is set for his/her account. Alternate Flow: 1. System validates the password entered by user, if old password is wrong then system ask user to enter again password.

Pre-conditions: User must be logged in.

Post-conditions: User will be able to set a new password for his/her account.

start

Edit profile

Click on change password

User enter details for old and new password

System validated details entered by user

Is valid yes

no

Error Incorrect old password

System changes user password

end

8. Design Diagram:
8.1. Activity Diagram Login

System displays a link for users to login

User clicks on login link

User enters details

System checks validity

no yes

User must re-enter

User is logged in

Register

System displays a link for users to register

User clicks on register link

User enters details

System checks validity

no yes

User must re-enter

User is registered

Forgot password

System displays a link of forgot password

User clicks on forgot password

User enters id

Password gets mailed to the user on his e-mail account

View user info

System displays a link of view user info on default home page

User clicks on view user info

User info displayed

Edit user info

System displays a link of edit user info in home

User clicks on edit user info

user edits his information

Validity of data is checked

no yes
user profile edited

User must re-enter

View user portfolio

System displays a link of view user portfolio

User clicks on view user portfolio

User portfolio displayed

View current holdings

System displays a link of current holdings

User clicks on current holdings

current holdings displayed

View created Market Watch lists

System displays a link of marketwatch

User clicks on marketwatch

system displays various created lists

User selects a list

List displayed

Create a market watch list

System displays a link of marketwatch

User clicks on marketwatch

System displays an option to create a marketwatch list

User selects create marketwatchlist

User enters details

Validity of details checked

no

User must re-enter

yes
user profile edited

View all shares

System displays a link of view all shares

User clicks on view all shares

System displays all shares

View all orders

System displays a link of order book

User clicks on order book

all orders displayed

Place an order

System displays a link of order book

User clicks on order book

System displays a link of place an order

User selects place an order

User enters details

Validity of details checked

no

User must re-enter

yes
order placed

Delete an order

System displays a link of order book

User clicks on order book

System displays a link of delete an order

User selects delete an order

User selects an order to be deleted from a list

Selected order is deleted

8.2 Class Diagram:

MarketWatch -listName : String -userID : String -script1 : String Forum -script2 : String -Topic : String -script3 : String -CreationDateAndTime : String -script4 : String -Author : String -script5 : String -NumberOfPosts : Long -script6 : String -views : Long -script7 : String CurrentHoldings -script8 : String -script9 : String -userID : String -script10 : String -TransactionId : String 1..n 1...n -script11 : String -scriptName : String Cr -script12 : String -NoOfShares : Integer ea te_ -script13 : String -price : Long MW -script14 : String lis -script15 : String t 1 1 -script16 : String -script17 : String User -script18 : String +Username : String -script19 : String TradeHistory +emailID : String -script20 : String ew -userID : String Vi 1..n +Password : String1 +saveList(in userID : User, in listName : string) 1 -TransactionId : String +userType : String -scriptName : String +CashBalance : String 1 -NoOfShares : Integer +userID : String -price : Long +DOB : Date -buySell : Char +sex : Char ew Vi 1..n -date : Date +rank : Integer 1 Administrator +netProfit : String +deliveryPower : String +dayPower : String -ApproveRegistrations() +holdingsValue : String +DeleteUserAccount() +DeleteForums() 1 #Login() +ViewUserprofiles() #Logout() +viewCompanies() +ViewProfile() +updatePrices() 1 +ViewForum() er rd +CreateForum() _O +EditProfile() te 1..n ea +ChangePassword() OrderBook r C +viewMarketWatch() Student -userID : String +createMarketWatch() -TransactionId : String +resetPassword() -scriptName : String +addComapnyInMW() +createAnAccount() -NoOfShares : Integer +deleteCompanyInMW() +DeleteHisProfile() -limitPrice : Long +viewAllShareslist() -buySell : Char +createAnOrder() -triggerPrice : Long +viewTradeHostory() -tradeType : Char +viewCurrentHoldings() -orderType : Char +viewUserRanking() +saveOrder(in userID : string, in transactionID : string) +viewArticles()
C re a te_F o ru m

8.3 State Diagram: Registration:


login page

[sign up]

Registration Page [Invalid_entry()]

[Submit_Details()]

Check for valid Entries

[Valid_entry()]

registration successful

System Design Document

1.1 Application Environment:


The Virtual Stock Exchange System is a web application and like any other web portal it is operational on the internet. Connection to the various nodes and modules of the online software is through the internet using the user-interface of the software as provided on the web server.

1.2 Interfaces:
The application will have a general interface for all the users. The user will have to login using his username and password and will then be directed to his customized page. It will have user-friendly and simple visualization and easy navigation facility to help.

1.3 Hardware:
Since the software will be accessed through a web based portal, the basic requirement will be a computer (or any device with web browsing capability) connected to the internet. This is possible through a full-time internet connection (possibly a leased line), or a line through the telephone cable.

1.4 Software: Database Server program: The database used is MySQL. OS: On the client side, there is no specific OS which needs to be installed, because
the client interacts only through the Web Browser. Browser: We will use Microsoft Internet Explorer 8 or Mozilla Firefox 4 above while coding and testing, that supports a good GUI-oriented website in real-time and has an encapsulation of application-level security measures.

On the Server side: On the server side also the source code written is OS independent.
All we need is a php, MySql and Apache server to host the website to be installed. If these minimal requirements are fulfilled, then the software will run good on any computer

2. DATA AND DATABASE:


The project consists of the following entities and their respective attributes:

USER:
UserId Password Username Gender

Birthday EmailId Usertype CashBalance Rank NetProfit DayPower DeliveryPower HoldingsValue

ENTITY: USER ATTRIBUTE userId password username Gender Birthday emailId Usertype cashBalance Rank netProfit dayPower deliveryPower holdingsvalue DATA TYPE INT(7) VARCHAR(20) VARCHAR(20) VARCHAR(6) VARCHAR(20) VARCHAR(30) VARCHAR(10) INT(20) INT(20) INT(20) INT(20) INT(20) INT(20) FEATURE NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL UNIQUE NOT NULL

ORDER BOOK:
UserId TransactionID Script Name Order Type Trade Type No of Shares Buy Sell Limit Price Trigger Price

ENTITY: ORDER BOOK ATTRIBUTE Userid transactionid scriptname ordertype tradetype noofshares Buysell limitprice trigerprice DATA TYPE INT(9) INT(10) VARCHAR(20) VARCHAR(10) VARCHAR(10) INT(5) VARCHAR(4) INT(10) INT(10) FEATURE NOT NULL, FOREIGN KEY NOT NULL AUTO_INCREMENT NOT NULL, FOREIGN KEY NOT NULL NOT NULL NOT NULL NOT NULL

TRADE HISTORY:
UserId Transaction Id Trade ID Script Name No of Shares Order Type Trade Type Buy Sell Buy Sell Price Date
ENTITY: TRADE HISTORY ATTRIBUTE userid tradedid transactionid scriptname noofshares buysell ordertype tradetype buysellprice date DATA TYPE INT(9) INT(10) INT(10) VARCHAR(20) INT(5) VARCHAR(4) VARCHAR(10) VARCHAR(10) INT(10) DATE FEATURES NOT NULL, FOREIGN KEY NOT NULL AUTO_INCREMENT NOT NULL, FOREIGN KEY NOT NULL, FOREIGN KEY NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL

COMPANY:
Script Name

Current Price Percentage Change Open Price Close Price High Price Low Price Last Traded Price
ENTITY: COMPANY ATTRIBUTE Scriptname Currentprice percantagechange Openprice Closeprice Highprice Lowprice Lasttradedprice FEATURES DATA TYPE VARCHAR(20) NOT NULL INT(10) VARCHAR(5) INT(10) INT(10) INT(10) INT(10) INT(10)

MARKET WATCH:
UserId Listname Script1 Script2 Script3 Script4 Script5 Script6 Script7 Script8 Script9 Script10 Script11 Script12 Script13 Script14 Script15 Script16 Script17 Script18 Script19 Script20

Entity: Market Watch ATTRIBUTE DATA TYPE FEATURE userid Int( INT(9) NOT NULL, FOREIGN KEY listname VARCHAR(10) NOT NULL script1 VARCHAR(20) FOREIGN KEY script2 VARCHAR(20) FOREIGN KEY script3 VARCHAR(20) FOREIGN KEY script4 VARCHAR(20) FOREIGN KEY script5 VARCHAR(20) FOREIGN KEY script6 VARCHAR(20) FOREIGN KEY script7 VARCHAR(20) FOREIGN KEY script8 VARCHAR(20) FOREIGN KEY script9 VARCHAR(20) FOREIGN KEY script10 VARCHAR(20) FOREIGN KEY script11 VARCHAR(20) FOREIGN KEY script12 VARCHAR(20) FOREIGN KEY script13 VARCHAR(20) FOREIGN KEY script14 VARCHAR(20) FOREIGN KEY script15 VARCHAR(20) FOREIGN KEY script16 VARCHAR(20) FOREIGN KEY script17 VARCHAR(20) FOREIGN KEY script18 VARCHAR(20) FOREIGN KEY script19 VARCHAR(20) FOREIGN KEY script20 VARCHAR(20) FOREIGN KEY

NEWS_DATA:
News_id Headlines Url Entity: News_DATA ATTRIBUTE DATA TYPE FEATURE News_id Int( INT(2) NOT NULL headlines VARCHAR(100) NOT NULL url VARCHAR(100) NOT NULL

3. DETAILED DESIGN: 3.1) MODULE 1


NAME: Login

TYPE: Function DESCRIPTION: There are accounts for all the actors. They need to log in the system before they can use any features of DABBA MARKET. This use case allows the user to login to the system for experiencing the virtual stock exchange website. IMPLEMENTATION: We will send the information entered by the user to the server and will compare the data from the database to allow the user to enter into the system. If the authentication is valid then the user will be directed to the home or main page.

3.2) MODULE 2
NAME: Create an Account TYPE: Function DESCRIPTION: This function allows user to create an account in the DABBA MARKET website. IMPLEMENTATION: The user will be asked to fill the relevant information and submit the information. An error message will be displayed if something went wrong or in case user provides wrong information according to the constraints. On successful creation of the account, the user will be asked to login again.

3.3) MODULE 3
NAME: User Info TYPE: Function DESCRIPTION: This function is used to see the basic information of the users. This system takes information from actors and stores them in database. Its like the public profile of the users. User can update and change this information whenever he/she wants. IMPLEMENTATION: Once the user is on this page, the user will be able to see their current information. He/she will be able to change the information. The information changed will be checked for validity and once its confirmed the information will get changed.

3.4) MODULE 4
NAME: Market Watch TYPE: Function DESCRIPTION: This function is used to show information of the companies selected by the user. User can select at maximum 20 companies in which he is interested.

IMPLEMENTATION: User selects the company he/she wants to keep an eye on. Informations displayed in market watch are: Company Name and its shares, net change, its high and low market price of that particular day. If there is already enough companies (predefined by the system) and user adds another company to the market watch, it will display error information.

3.5) MODULE 5
NAME: All Shares List TYPE: Function DESCRIPTION: This function will include list of all shares of the companies that are provided by the system. This module is same as the market watch in functionality; difference is that in market watch user can keep track of his/her favorite companies while in this module all company shares are present. System updates these shares information in every few seconds. IMPLEMENTATION: The function will show list of all shares of companies. Information in this module: Symbol of share, Company name, Last price, Change, High, Low, volume.

3.6) MODULE 6
NAME: Order Book TYPE: Function DESCRIPTION: This function will allow the user to buy and sell shares .This order book is basically used to record the interest of buyers and sellers in a particular financial instrument (shares here). IMPLEMENTATION: The user will be able to view the orders, place a new order. In order to place an order, the user will enter the required information. The information will be checked for validity and if it is valid the order will be placed or else the user will be asked to enter the information again.

3.7) MODULE 7
NAME: Trade History TYPE: Function

DESCRIPTION: This function will show all the transactions made by the user. IMPLEMENTATION: By selecting the trade history option user can view his/her transactions. This use case model contains the information of purchasing and selling of all shares that are made by user.

3.8) MODULE 8
NAME: User Portfolio TYPE: Function DESCRIPTION: This function is used to display information of shares that are currently being held by user. This is called the stock portfolio of an individual.

IMPLMENTATION: The user log in the account. Click on current holding option on home page. System maintains a list of current holdings of user. User can see the list. If there is an error retrieving the information, the system should display error message.

3.9) MODULE 9
NAME: Forgot Password TYPE: Function DESCRIPTION: In case the user has forgot the password to his profile then this functionality will help the user to recover his password on his DA-IICT webmail id. IMPLEMENTATION: User will click on the forgot password link and then enter his user-id then a mail will be automatically send to his DA-IICT webmail id. No need of separate e-mail id here, because the user-id is the same as the DA-IICT student ID.

3.10) MODULE 10
NAME: Log Out TYPE: Function DESCRIPTION: Log-out is used to end users session and takes him/her to the log in page. IMPLEMENTATION: The system provides with a log out option, User select that option. System saves all changes made by the user. The user is redirected to log in page. If there is connection failure, error message is displayed.

Software Testing

System Test Plan


Purpose:
Testing is a process which is used to evaluate and assess the application differences between the built in system and the requirements specified. Testing of the application is carried in many phases like unit testing, integration testing, validation testing, system testing, quality and acceptance testing. This system test plan is produced to check the scope, resources, approach, cases etc used for carrying out the testing in efficient manner. This report identifies the items and functionalities to be tested and approach used to test. We should ensure that all modules are working fine individually and together and producing the results as specified by the users.

1.1 Scope: 1.1.1 In Scope:


This Virtual Stock Exchange Test Plan provides details about unit, integration, system, regression, quality and acceptance testing.The test scope includes the following: Testing of all functional, application performance, security and use cases requirements listed in the Use Case document. Quality requirements and fit metrics of our application. End-to-end testing and testing of interfaces of all systems that interact with the VSE website.

1.1.2 Out Scope:


The following are considered out of scope for VSE website systemTest Plan and testing scope: Functional requirements testing for systems outside VSE. Testing of Business SOPs, disaster recovery and Business Continuity Plan.

1.1.3 Primary Objective:


A primary objective of testing application systems is: to assure that the system meets the full requirements including the non-functional requirements as well and satisfies the use case scenarios and maintain quality of the product.

1.1.4 Secondary Objective:


The secondary objective of testing application systems is to: identify and deal with all the problems with the system and ensure that all issues are solved before the submission of the system. As an objective, this requires careful and methodical testing of the application to first ensure all areas of the system are thoroughly tested and consequently all issues (bugs) found are dealt with appropriately.

1.2 References:
Rational Unified Process. IEEE 829-2008System Test Plan Format. Template by Cancer Biomedical Informatics Grid.

1.3 Assumptions for Test Execution:


Some of the assumptions considered in preparing this test plan are listed below.

Requirements analysis phase is completed. First draft of user requirements and data collected from questionnaire are formally specified. Test cases and test scripts are produced. For unit testing, formal use cases are developed and checked against it. For integration testing, we assume developers team has completed unit testing and they are working according to the requirements specified. Test team provided required guidance to developers.

1.4 Constraints for Test Execution:

Developer will receive consolidated list of request for test environment set up, user accounts set up, data set (actual and mock data), defect list, etc. Developer and Test team is well co ordinated and organizes meetings to address any testing related issues. Test Scripts are approved by Test Team leader before using for testing. Developers should be provided with related and valid data (actual and imitation data) to carry out basic testing. The Developer cannot execute the User Acceptance and End to End test scripts. After debugging, the developer can conduct their internal test, but no results from that test can be recorded / reported.

1.5 Acronyms and Abbreviations:


VSE: Virtual Stock Exchange Q&A: Quality and Acceptance

1.6 Test Approach: 1.6.1 Test Goals:


To complete the project with all the functionality provided in requirement phase. Deploy the project on intranet of DA-IICT Campus To check whether project issynchronized with respect to the scope, responsibilities, deadlines and deliverables.

1.6.2 Test Risks:


Team members are new to RUP tools and other defect tracking tools. During beta testing, end users are involved in testing and team should communicate with them accordingly and fix the schedule. If test environment and development environment is different, then introduces new errors and differences in the results produced.

REQUIREMENTS TESTING: 2.1 Items to be tested:

According to the SRS developed and the requirements specified following items are to be testing in the given test schedule. Registration Procedure Password Recovery Facility Virtual Money Allocation Market Watch details Shares Types and their facilities Points Calculation Ranking System Trading History Shares Values Working of marginal trading Order Book Confidentiality and Security issues related personal shares and orders Allocation of shares after buying and deletion of money from total available

2.2 Items not to be tested:


Some of the issues are not included under the scope of testing. Some of them include the following: Validating stock exchange rates Shares details provided by different companies Users Personal information Forum related Information

TEST METHODOLOGY: 3.1 Purpose: 3.1.1 Overview:


The purpose of system test plan: Develop testing approach for each and every module which includes both functional and non functional requirements. This shouldnt be the redo of the unit testing where it clouds the focus on the system on whole. Identify required resources for testing. Identify risks and error tracking procedure. Develop test schedule.

3.1.2 Usability Testing:


The main use of usability testing is to validate whether the output or result produced is in accordance with the expected output. Development generally creates the User Interface and its features but doesnt check the functionality of the feature. Usability testing team should test the systems features functionalities

and check whether the output produced is as desired by end user. For effective results, this mostly carried out by the end users. This testing is done at different levels of abstraction i.e. performance of specific sub area or a module, or the whole page and finally the overall application.First step of usability testing is to identify a set of usability categories and establish testing objectives for each category.

3.1.3 Unit Testing:


Unit testing focuses on the testing of smallest unit of software design the software component or module. Using component level design as guide important control paths are tested to uncover errors. In our case of website, some example areas which are to be tested are database connectivity, webpage redirection, login, functions pertaining only to that page.

3.1.4 Iteration/Regression Testing:


Regression testing is the activity that helps to ensure that changes (due to testing or for other reasons) do not introduced unintended behavior or additional errors. There is also the process of communicating results from testing and ensuring that new drops/iterations contain stable fixes (regression). New content which is suitable for the project is added. At the end of the test we need to check whether the product is ready to deliver to customers. Important deliverables would be source code of the project, all documents required to use the project like user manual, installation instructions etc.

3.1.5 Final Release Testing:


This phase comprises executing test scripts required to validate and check the results against user requirements like functionality, performance, format of output and input etc. Alpha and beta testing is conducted before delivering the product. Alpha testing is conducted in developers environment inviting end users to use the product and report the difficulties encountered by them. In beta testing, the system is deployed on the user environment and users are asked to use it and report the bugs in the course of time which helps them in maintenance. The milestone target of this phase is to establish that the application under test has reached a level of stability, appropriate for its usage (number users, etc.), that it can be released to the end users.

3.2 Testing Levels:


Important levels of testing are Unit Testing, Integration Testing and System Testing.

3.2.1 Unit Testing:


Each module should work perfectly and all test scripts related that module should give successful results. Data integrity should be maintained.

3.2.2 Integration Testing:

Unit testing should be completed before coming to this phase. All components should be integrated using bottom up or top down approach. And then the system all together should be checked.

3.2.3 System Testing:


After integration of the components, whole system should be evaluated. Issues related to performance, stress etc should also be evaluated

Test Deliverables:
Specific Deliverables are produced during the testing phase. We can divide them in three basic categories 1) Documents, 2) Test Case, 3) Reports Each deliverable has its own requirements and dependencies without which it is difficult to complete the deliverable.

4.1 Deliverables Matrix:


It consists of artifacts that should be produced during the testing lifecycle. This matrix should be updated regularly throughout the Project development cycle in your project specific test plan. Deliverables that ought to be produced during testing lifecycle: Documents Test approach Test Plan Test Schedule Test Specifications Test Case Test Cases Test Cases Review Reports

4.2 Documents: 4.2.1 Test Approach Document:


The test approach document is derived from the Project Plan, Requirements and Functional Specification documents. This document defines the Strategy which describes the test team's approach to test the software both Overall and also in each phase.It gives better idea for the team to plan and execute the testing phase with perfection.

4.2.2 Test Plan:


The Test Plan is derived from the Test Approach, Requirements, Functional Specs, and detailed Design Specs. Test Plan is a detailed procedure to organize and execute the workflow of a software testing project. It defines object, scope, resource and scheduling the testing process. It identifies the details of the test approach. Purpose of the Test Plan document:

Specify the approach we are going to use to test the product, and the deliverables. It helps us to think through the efforts needed to validate the acceptability of a software product. It includes test cases, conditions, and the test environment, a list of related tasks, pass/fail criteria, and risk assessment. Specify the procedures to be used for testing sign-off and product release. List the resource and scheduling plans.

4.2.3 Test Schedule:


The Test Schedule will be based on information from the Project Scheduler. It contains all the tasks to be performed in order to create a working project. This includes all tasks versus dates. For each task the task name, a brief description and the responsible individual is included.

4.2.4 Test Specification:


Test specification document is derived from the test plan. It provides basic for the test cases. Test specification is a detailed summary of what scenarios will be tested, how they will be tested, how often they will be tested, for a given feature.

4.2.5 Requirement Traceability Matrix:


Requirements traceability can be defined as the ability to describe and trace the life of a requirement, in both a forward and backward direction (i.e. From its source, through its development and specification, to its actual deployment, and then into the product cycle of ongoing refinement and iteration in any of these phases) .

4.3 Reports:
A final Test Report will be issued by the test leader.

5. Test Environment: 5.1 Hardware:


Include the minimum hardware requirements that will be used to test the application. The Tester of the system will have a minimum requirement of computer with internet connection and 10 GB hard disk and 512 MB Random Access Memory. And as the website is to be created primarily for the DAIICT intranet, it requires a server at DA-IICT to host the application.

5.2 Software
MS-Office 2007 Professional, Windows 2003 are our software requirements. These are the minimum software requirements for our system.

5.3 Test Intensity:


The criticality of each test case is documented, rated and printed with the test case documented. At least one test is run on the specification to cover the entire requirement coverage.

Error Prediction, Validity of the Input provided, Interference from other processes, unexpected interruptions, etc need to be take care of. So they are checked before

5.4 Bug Severity and Priority Definition:


Classifying and categorizing bugs during testing is very important. To satisfy these, bugs should be given its severity level and its priority. During test phase, testing has to be done according to their priority. Different levels of priority and severity is mentioned below. This process should be carefully reviewed. In initial phase, testing members should assign priorities and meetings should be conducted with team leader to verify.

5.4.1 Severity List


Severity: Critical Description: If a program or a module or database crashes and there is no backup available then it is accounted to Severity 1 bug. If data is lost and it is non-recoverable, then also it is listed into this category. Severity: High Description: Major system component unusable due to failure or incorrect functionality. Sev. 2 bugs cause serious problems such as a lack of functionality, or insufficient or unclear error messages. If the process is difficult to correct the bug, then it comes under Severity 2 bug. Severity: Medium Description: Incorrect functionality of a component. If process to correct is easy then it is categorized under Severity 3 bugs. Severity: Minor Description: Errors in documentation.

5.4.2 Priority List


Priority: Immediately Description: if the bug should be corrected for the working of the product, then it should be fixed immediately. Priority: As soon as possible Description: bug should be fixed before delivering to client. These bugs affect the quality of product if it is not fixed.

5.5 Bug Reporting:


Testing process is carried out by set of people in the group. For effective communication between all members of the group we need proper bug reporting tool. Whole group should follow some standards to report test cases results. While carrying out test cases, corresponding member should report about the result like whether the test case is passed or not, any difficulties experienced. Some important things like showing them to developers or other

members would help to decide about the result. In some cases, the test case goes wrong if it is tested repeatedly, in that case you cant show it to others. So, these comments should be included in bug reports. Some test cases fail across platforms and we should report clearly the platform on which the passed or failed. Some test cases fails during re check after some days and if this happens testing team should figure out the problem. Everyone should report and explain the bug clearly for other members to understand about the result of test case.

6. Acceptance Criteria:
Result of all test cases should be PASSED i.e., output of each component should be equal to the expected result. All web pages should follow the flow as specified in use case model. Performance requirements should be met. All bugs expected should be tackled. Proper documentation with user manual and help should be provided.

Test Cases

1. Login:Test ID Test Objective User category Environmental needs Steps of execution Expected Output Pass/Fail Criteria Login To successfully login into the user account All Browser, Web server and database server 1) User open the home page of the website 2) User clicks on the login button without entering any information Please fill the username and password fields to login Fail

Test ID Test Objective User category Environmental needs Steps of execution

Expected Output Pass/Fail Criteria Test ID Test Objective User category Environmental needs Steps of execution

Login To successfully login into the user account All Browser, Web server and database server 1) User open the home page of the website 2) User enters incorrect username and/or password 3) User clicks on the login button Incorrect username or password. Please try again. Fail Login To successfully login into the user account All Browser, Web server and database server 1) User open the home page of the website 2) User chooses the Login option 3) User enters correct information of username and password (Login successful) User sees his/her profile. Pass

Expected Output Pass/Fail Criteria

2. Register
Test ID Test Objective User category Environmental needs Steps of execution Register To successfully register a new user All Browser, Web server and database server 1) User open the home page of the website 2) User chooses the register option 3) User fills the form partially 4) User clicks on the submit button without entering some necessary information Please fill the necessary field those are marked by * Fail

Expected Output Pass/Fail Criteria

Test ID Test Objective User category Environmental needs Steps of execution

Expected Output Pass/Fail Criteria

Register To successfully register a new user All Browser, Web server and database server 1) User open the home page of the website 2) User chooses the register option 3) User fills the form partially 4) User inputs correct information and dont check the terms and conditions box and clicks on submit button. Accept the terms and conditions first Fail

Test ID Test Objective User category Environmental needs Steps of execution

Expected Output Pass/Fail Criteria

Register To successfully register a new user All Browser, Web server and database server 1) User open the home page of the website 2) User chooses the register option 3) User fills the form partially 4) User enters username that is already registered. Please choose a different username, username already exists Fail

Test ID Test Objective User category Environmental needs Steps of execution

Expected Output Pass/Fail Criteria

Register To successfully register a new user All Browser, Web server and database server 1) User open the home page of the website 2) User chooses the register option 3) User fills the form partially 4) User enters correct information and accepts the terms and conditions User profile created successfully Pass

3. Forgot Password
Test ID Test Objective User category Environmental needs Steps of execution Forgot Password
To successfully recover the users password. All Browser, Web server and database server 1) User open the home page of the website 2) User chooses the Forgot Password option 3) User is taken to the Forgot Password form 4) User clicks on GO without entering E-mail ID. Enter E-mail ID. Fail

Expected Output Pass/Fail Criteria

Test ID Test Objective User category Environmental needs Steps of execution Expected Output

Forgot Password
Forgot Password_run2 To successfully recover the users password. All Browser, Web server and database server 1) User open the home page of the website 2) User chooses the Reset Password option 3) User is taken to the reset password form 4) User gives a valid username, and an invalid email id. Invalid email id.

Pass/Fail Criteria Test ID Test Objective

Forgot Password
To successfully recover the users password.

User category Environmental needs Steps of execution

All Browser, Web server and database server 1) User open the home page of the website 2) User chooses the Forgot Password option 3) User is taken to the Forgot Password form 4) User entered da-iict email id. The password is sent to the e-mail id. Pass

Expected Output Pass/Fail Criteria

4. Order Book:Test ID Test Objective User category Environmental needs Steps of execution Order book To successfully place an order(buy/sell) All Browser, Web server and database server 3) User opens the home page of the website 4) User logs in 5) User chooses the order book option 6) User does not enter at most one mandatory field and hit the buy/sell option. Please fill the necessary field those are marked by * Fail Order book To successfully place an order(buy/sell) All Browser, Web server and database server 1) User opens the home page of the website 2) User logs in 3) User chooses the order book option 4) User chooses order type stop-loss and doesnt enter trigger price and hit the buy/sell option. Please enter the trigger price as you have chosen order type stop-loss Fail

Expected Output Pass/Fail Criteria Test ID Test Objective User category Environmental needs Steps of execution

Expected Output Pass/Fail Criteria

Test ID Test Objective User category Environmental needs Steps of execution

Order book To successfully place an order(buy/sell) All Browser, Web server and database server 1) User opens the home page of the website

Expected Output Pass/Fail Criteria Test ID Test Objective User category Environmental needs Steps of execution

2) User logs in 3) User chooses the order book option 4) User select shares such that his buying amount exceeds balance amount and click on buy button. You dont have enough balance to buy that many shares. Please re-enter no of shares. Fail Order book To successfully place an order(buy/sell) All Browser, Web server and database server 1) User opens the home page of the website 2) User logs in 3) User chooses the order book option 4) User fills all necessary fields and buy shares amount does not exceeds the balance amount and click on buy/sell button. Order placed successfully. Pass

Expected Output Pass/Fail Criteria

5. Market Watch:Test ID Test Objective User category Environmental needs Steps of execution Market watch To successfully select shares for market watch All Browser, Web server and database server 1) User opens the home page of the website 2) User logs in 3) User chooses the market watch option 4) User selects create list option and does not enter list name and click on create list button. Please enter the name of the list you are creating: This field is mandatory Fail

Expected Output Pass/Fail Criteria

Test ID Test Objective User category Environmental needs Steps of execution

Market watch To successfully select shares for market watch All Browser, Web server and database server 1) User opens the home page of the website 2) User logs in 3) User chooses the market watch option 4) User selects create list option and selects more than 20

Expected Output Pass/Fail Criteria

companies for the list. Please select less than 20 shares Fail

Test ID Test Objective User category Environmental needs Steps of execution

Expected Output Pass/Fail Criteria

Market watch To successfully select shares for market watch All Browser, Web server and database server 1) User opens the home page of the website 2) User logs in 3) User chooses the market watch option 4) User selects create list option, enters the list name and selects less than 20 companies for the list. List created successfully, and displays created list. Pass

Test Report

1. Introduction
Software testing is the process used to help identify the correctness, quality, security, complying by the standards, and completeness of the software that is developed during the course of the project. It ensures that the defect (loopholes) isnt present in the software. Also the features are explored so as to find the correctness of the functionality it provides. Also we can ensure that modules when integrated works correctly.

1.1

Purpose

Main motto of Software testing is to identify the defects in the working of the software and correcting it. It enhances quality of the software, as it reduces the defects and the errors that have crept in one or more modules during the coding phase and hasnt been detected till testing phase. Testing is also required because it is indication of whether the software we have generated is reliable and of high class. Also checked is the functionality, whether they respond as mentioned in specifications.

1.2

Scope

This test report consists of the summary of the tests that were performed on our system Dabba Market. The cases mentioned in the Test Cases document were applied on the system.

1.3

References
1.3.1 Test Cases 1.3.2 System test plan.

2. Software testing activities


2.1 Unit Testing

A unit test is a procedure used to validate that a particular module of source code is working properly. Test cases were written for all the functionalities and methods so that whenever a deviation from its expected behavior, it was quickly identified and fixed. This testing was done only by the developers and not by the end users. The goal was to isolate each module of the program and verify that the individual module was functioning correct.

2.2

Integration Testing

This consists of testing of integrated module of an application to determine if they function correctly together. Modules are added and then checked for each of their functionality, so that error can be found out immediately and we can know the module that contains the bug.

2.3

System Testing

System testing is carried out on a complete with all modules integrated to evaluate its compliance with the specified requirements in System Requirements Specification (SRS) document. It requires no knowledge of the code or the inner logic of the software, considering it as a black box, it is used from users perspective and checked out for any faults or errors that pop up.

3. Test Summary Login:Test ID Test Objective User category Environmental needs Steps of execution Expected Output Pass/Fail Criteria Test Result Pass/Fail

Login_run1
To successfully login into the user account All Browser, Web server and database server 7) User open the home page of the website 8) User clicks on the login button without entering any information Please fill the username and password fields to login Fail Passed

Test ID Test Objective User category Environmental needs Steps of execution

Login_run2 To successfully login into the user account All Browser, Web server and database server 4) User open the home page of the website 5) User enters incorrect username and/or password 6) User clicks on the login button Incorrect username or password. Please try again.

Expected Output

Pass/Fail Criteria Test Result Pass/Fail

Fail Passed

Test ID Test Objective User category Environmental needs Steps of execution

Login_run3 To successfully login into the user account All Browser, Web server and database server 4) User open the home page of the website 5) User chooses the Login option 6) User enters correct information of username and password (Login successful) User sees his/her profile. Pass Passed

Expected Output Pass/Fail Criteria Test Result Pass/Fail

Register:Test ID Test Objective User category Environmental needs Steps of execution Register_run1 To successfully register a new user All Browser, Web server and database server 5) 6) 7) 8) User open the home page of the website User chooses the register option User fills the form partially User clicks on the submit button without entering some necessary information

Expected Output Pass/Fail Criteria Test Result Pass/Fail

Please fill the necessary field those are marked by *


Fail Passed

Test ID Test Objective

Register_run2 To successfully register a new user

User category Environmental needs Steps of execution

All Browser, Web server and database server 5) 6) 7) 8) User open the home page of the website User chooses the register option User fills the form partially User inputs correct information and dont check the terms and conditions box and clicks on submit button.

Expected Output Pass/Fail Criteria Test Result Pass/Fail

Accept the terms and conditions first


Fail Passed

Test ID Test Objective User category Environmental needs Steps of execution

Register_run3 To successfully register a new user All Browser, Web server and database server 5) 6) 7) 8) User open the home page of the website User chooses the register option User fills the form partially User enters username that is already registered.

Expected Output Pass/Fail Criteria Test Result Pass/Fail

Please choose a different username, username already exists


Fail Passed

Test ID Test Objective User category Environmental needs Steps of execution

Register_run4 To successfully register a new user All Browser, Web server and database server 5) User open the home page of the website 6) User chooses the register option 7) User fills the form partially 8) User enters correct information and accepts the terms and conditions User profile created successfully Pass

Expected Output Pass/Fail Criteria

Test Result Pass/Fail

Passed

Forgot Password:Test ID Test Objective User category Environmental needs Steps of execution Forgot Password_run1 To successfully recover the users password. All Browser, Web server and database server 5) User open the home page of the website 6) User chooses the Forgot Password option 7) User is taken to the Forgot Password form 8) User clicks on GO without entering E-mail ID. Enter E-mail ID. Fail Passed

Expected Output Pass/Fail Criteria Test Result Pass/Fail

Test ID Test Objective User category Environmental needs Steps of execution

Forgot Password_run2 To successfully recover the users password. All Browser, Web server and database server 5) User open the home page of the website 6) User chooses the Reset Password option 7) User is taken to the reset password form 8) User gives a valid username, and an invalid email id. Invalid email id. Fail Passed

Expected Output Pass/Fail Criteria Test Result Pass/Fail

Test ID

Forgot Password_run3

Test Objective User category Environmental needs Steps of execution

To successfully recover the users password. All Browser, Web server and database server User open the home page of the website User chooses the Reset Password option User is taken to the reset password form User gives a valid E-mail ID and an email id containing his password is sent to that E-mail ID. The password is sent to the e-mail id. Pass Passed 1) 2) 3) 4)

Expected Output Pass/Fail Criteria Test Result Pass/Fail

Order Book:Test ID Test Objective User category Environmental needs Steps of execution Order book_run1 To successfully place an order(buy/sell) All Browser, Web server and database server User opens the home page of the website User logs in User chooses the order book option User does not enter at most one mandatory field and hit the buy/sell option. Please fill the necessary field those are marked by * Fail Passed 9) 10) 11) 12)

Expected Output Pass/Fail Criteria Test Result Pass/Fail

Test ID Test Objective User category Environmental needs

Order book_run2 To successfully place an order(buy/sell) All Browser, Web server and database server

Steps of execution

Expected Output Pass/Fail Criteria Test Result Pass/Fail

User opens the home page of the website User logs in User chooses the order book option User chooses order type stop-loss and doesnt enter trigger price and hit the buy/sell option. Please enter the trigger price as you have chosen order type stop-loss Fail Passed

5) 6) 7) 8)

Test ID Test Objective User category Environmental needs Steps of execution

Order book_run3 To successfully place an order(buy/sell) All Browser, Web server and database server User opens the home page of the website User logs in User chooses the order book option User select shares such that his buying amount exceeds balance amount and click on buy button. You dont have enough balance to buy that many shares. Please re-enter no of shares. Fail Passed 5) 6) 7) 8)

Expected Output

Pass/Fail Criteria Test Result Pass/Fail

Test ID Test Objective User category Environmental needs Steps of execution

Order book_run4 To successfully place an order(buy/sell) All Browser, Web server and database server 5) 6) 7) 8) User opens the home page of the website User logs in User chooses the order book option User fills all necessary fields and buy shares amount does not exceeds the

Expected Output Pass/Fail Criteria Test Result Pass/Fail

balance amount and click on buy/sell button. Order placed successfully. Pass Passed

Market Watch:Test ID Test Objective User category Environmental needs Steps of execution Market watch_run1 To successfully select shares for market watch All Browser, Web server and database server User opens the home page of the website User logs in User chooses the market watch option User selects create list option and does not enter list name and click on create list button. Please enter the name of the list you are creating: This field is mandatory Fail Passed 5) 6) 7) 8)

Expected Output Pass/Fail Criteria Test Result Pass/Fail

Test ID Test Objective User category Environmental needs

Market watch_run2 To successfully select shares for market watch All Browser, Web server and database server

Steps of execution

Expected Output Pass/Fail Criteria Test Result Pass/Fail

User opens the home page of the website User logs in User chooses the market watch option User selects create list option and selects more than 20 companies for the list. Please select less than 20 shares Fail Passed

5) 6) 7) 8)

Test ID Test Objective User category Environmental needs Steps of execution

Market watch_run3 To successfully select shares for market watch All Browser, Web server and database server User opens the home page of the website User logs in User chooses the market watch option User selects create list option, enters the list name and selects less than 20 companies for the list. List created successfully, and displays created list. Pass Passed 5) 6) 7) 8)

Expected Output Pass/Fail Criteria Test Result Pass/Fail

4. Defect results:Total number of test cases: 17 Total number of successful test Cases:17 Total number of test Cases failed: 0

Conclusion
Document Name: Risk Analysis and Management
Reviewer: Sunil Kumar Baithadiya
The following things were checked in the Risk Analysis and Management document: All risks are covered. Mitigation, monitoring and management corresponding to the risks are correct. Probability and impact of risk are correct as best of our knowledge. We forgot to write the mitigation, management and monitoring for the risk of difficulty in coping with schedule. A new risk was added in the other version which is lack of full participation from the team members. The mitigation, monitoring and management of the risk were included in the new version.

Document Name: Quality Assurance Plan


Reviewer: Sunil Kumar Baithadiya
The documents to be delivered after every phase were clearly mentioned. No document for any phase which has to be created was left out. All the steps that are to be followed for the quality assurance are properly mentioned. There was no need to make changes to the old version of the Quality Assurance Plan.

Document Name: System Test Plan


Reviewer: Sunil Kumar Baithadiya
The following changes were made in the System Test Plan: The primary and secondary objective of the System Test Plan was added to the previous version. Report was also added. Severity List and Priority List were indexed accordingly. The roles had not been mentioned. The roles were added to the older version.

Document Name: System Design Document


Reviewer: Sahil Bhalwal
Agenda Overview of the project is clearly mentioned. Application Environment, Interfaces, use of hardware and software are appropriate as per the requirements. Modules that are present in the project are clearly presented. But there are many changes in the tables of the database(attributes and their datatypes)

In the Trade History table three attributes were added. Other than this, in all the tables, the datatype of the attributes were changed. For e.g. INT(7) was changed to INT(10). Script was given the datatype of VARCHAR(10). All the changes have been accommodated in the latest version of System Design Document i.e. in version_2.

Document Name: Test cases


Reviewer: Sahil Bhalwal
Agenda In Login, for the case in which User enters correct username and password, it is mentioned that login information is sent to users email address but actually we are not sending this mail. In the Market Watch case where user selects more than 30 shares. The maximum number of shares that user can list in market watch is 20.

All the other test cases where appropriate and needed no modifications. The errors found are listed in the above points. They are modified and the changes have been accommodated in the later version of the test cases.

Document Name: Proposal


Reviewer Name: Gaurav Rajpurohit

Agenda In introduction it is mentioned that users are given real time experience of trading in the market, but actually it is only semi-real because we consider user as standalone entity and there wouldnt be any effect on prices of shares based on the trading of the user. In the section What we are not going to do:, we have added the point the prices of the Real Stock Exchange wouldnt change based on the trading of the user considering it has zero effect. In Assumptions: we have one more assumption that user of our website will have no effect on real trading prices.

All the other points covered in this document still holds true. Some of the changes that were made in the document are mentioned above. The changes were accommodated in the Version 2 of this document.

Document Name: Project Proposal


Reviewer Name: Gaurav Rajpurohit
Agenda We only have a user manual which guides user regarding the functionality and its usage. There is no training manual as mentioned in the document as there is no training required. In Software resource estimation, the database to be used isnt very clear. Our project uses MySQL as mentioned in the later version of Project Plan i.e. Ver_2. Quite a few changes in the Timeline because of the challenges faced in Coding (like Information Extraction) etc. Few minor changes in the Acceptance Plan

Remaining topics still remain good to the system that is built. The above errors or modifications have been accommodated in the Ver_2 of this Project Plan document.

Document Name: System Requirements Specification

Reviewer Name: Varun Vashisht

The system features are explained in detail with use case model. The user info, ranking and holding were a different feature initially which was
removed. But still the ranking, info and holdings will be available

The system is said to be a semi-real experience of stock market now as the users
buying or selling capacity wont affect our system.

The user classes were lately categorized to students, faculty and staff which was
updated

other points and features mentioned are same which hold true The above changes are made to SRS v2.0

SNAP SHOTS:
Registration Page

Login Page

Access Denied

User Home Page

Order Book Page

Market Watch Page

Trade History Page

User Ranking Page

Forgot Password Page

Future Prospect:
We intend to develop an online game that addresses the problem stated above. We aim to provide our users with the semi-real time (because of the reason mentioned in introduction) market experience without staking their money. We intend to achieve this by providing the virtual trading ground to our users with a sum of fixed virtual money and all the key features that shall help them trade efficiently and also at the same time provide them the opportunity to learn about the market and associated technicalities. This project is basically for beginners who do not have any knowledge of share market. This project values their ideas and they can implement their ideas without the stake of money. We have added almost all the features of share market that will help them a lot. At present this project is virtual but if any company gives a domain to this project then no modifications are required for this project.

References
1. 2. 3. 4. www.google.com www.w3schools.com Xamp Guide Reference: Beginner to Intermediate PHP5

You might also like