PHP - BCA Practical

PHP - BCA Practical

PHP - BCA All Practical

E-Commerce Project

Create E-Commerce Project in php

Step: 1 create database name shopping_db

Step: 2 Create Table

  • registration :-


company :- 

category:-

 sub_category :-

product_master :-

order_master :-

order_detail :-

contact :-

country :-

state:-

city :-


 

Step: 3 Download Template Here : Gentallela Alela  :-

Set template in your project

Step: 4 Create Php page :

  1. header.php
  2. footer.php
  3. login.php
  4. logout.php
  5. forgot_pass.php
  6. change_pass.php
  7. city_list.php
  8. city_entry.php
  9. master_list.php

Online Examination System

Online Examination System fulfill the requirements of the institutes to conduct the exams online. It saves time as it allows number of students to give the exam at a time and display the results as the test gets over, so no need to wait for the result. It is automatically generated by the server.

Project Documentation  Of  Online Examination System

1.  Acknowledgment

We hereby take this opportunity to thank everyone who has directly or indirectly helped us in preparing our project on “Online Examination System”.
First and foremost thanks to our Director (HOD Name) keeping this project in my term work and giving me a chance to show my caliber and talents. He has been a major source of inspiration and advice for me.
I am also very much thankful to our professors and all other technical and office staff member who have proved to be a constant motivation for the knowledge acquisition and moral support during MCA curriculum.
Last but not least my heartily thanks is to my friends and batch-mates, who have provided me with innumerable discussions on many technicalities and friendly tips. Without their cordial and friendly support, this activity would have been much tougher.
I would once again like to express my heartiest gratitude to my family who has always guided us towards the path of success and all those persons who have directly or indirectly helped me in making this project work successful.
Our sincere regards to respect ( Internal Guide Name ) whose depth of knowledge and encouragement led to the completion of this project successfully. We hope you would undoubtedly find the matter interesting and informative as well. At last thanks to all readers for their keen interest in our work.
Your Faithfully,
(Student Name - 1)
(Student Name - 2)

2.  Abstract

The online examination is mainly designed to reduce the human effort in checking exam papers and also save lots of paper material so this project also belongs to the message of “save trees”. This project does assessment of students by conducting objection tests online. The test would be highly customizable and user friendly. The institutes can generate test and post questions and can see automatically generated result by individual candidates.
            This website allows candidates to select the exam from exam list which he/she wants to conduct. Admin can post exam and question papers and also save answers for those questions. It would enable educational institutes to perform quiz, tests and feedback forms. The institute and student or candidate can see their past exams and analyze the result. The result would show question paper, total questions , total attempted question and total true answers out of attempted questions of individual candidate.
            To subscribe for exam, the candidate is required to register first then login into the website and after login into the websitehe/she will have to buy an exam which he/she wants to conduct. The candidate must have sufficient balance in his/her account for give the exam. If candidate has not sufficient balance then he/she must have to pay money through paypal. The candidate can buy exams from available balance. This website would be used to check your knowledge about particular subject.
The main objective of online exam simulator is to efficiently evaluate the candidate thoroughly through a fully automated system that not only saves lot of time but also gives fast results. For students they give papers according to their convenience and time and there is no need of using extra thing like paper, pen etc.

3. Project Profile

Project TitleOnline Examination System
Project DefinitionOnline Exams Systemfulfill the requirements of the institutes to conduct the exams online. It saves time as it allows number of students to give the exam at a time and display the results as the test gets over, so no need to wait for the result. It is automatically generated by the server.
Developed forCompany Name
External Project GuideFaculty Name
Internal Project GuideFaculty Name
Team Size2 Member.
Team MembersStudent Name 1Student Name 2
Hardware ConfigurationCPU, RAM, Hard Disk, Display.
Front EndPHP with apache2.i server, Jquery, Javascript
Back EndMYSQL Server
Operation SystemWindows 7
Project Duration6 Month

4. Existing System Study

  • Examination is necessary for any College or Institute for Mapping the Student Abilities, so currently the students have to give exam on their college campus only.
  • The whole work done manually, so they want upgrades their System. So they can make it more users friendly and faster.
  • It contains more Paper work.
  • It is very time consuming process.
  • Existing system have more work load.

5.Need for the New System

  • The new system is needed because the whole exiting system work is totally manually and the strength of the student is increases day to day and work became very tedious and hard to maintain, so the need is arises for the new system.
  • These new system main Goal is that not to give in their college if may be anywhere of their predefined center.
  • The Student Complain for the late Result so that problem can also be solved.
  • Faculty work for the Paper Checking is also reducing.
  • Maintain confidentiality and avoid paper leaks. 

6.Functional Specification

6.1  Introduction

6.1.1 Purpose

  • The main purpose of online exam simulator is to efficiently evaluate the candidate through a fully automated system that not only saves lot of time but also gives fast results. For students they give papers according to their convenience and time and there is no need of using extra thing like paper, pen etc.

6.1.2 Scope

  • This project would be very useful for educational institutes where regular evaluation of student’s is required. Further it can also be useful for anyone who requires feedback based on objective type responses. Scope of this project is very broad in terms of other manually taking exams.
  • Few of them are:-
  • This Web Application provides facility to conduct online examination world-wide.
  • It saves time as it allows number of students to give the exam at a time and displays the results as the test gets over, so no need to wait for the result. It is automatically generated by the server.
  • This can be used in educational institutions as well as in corporate world.
  • Can be used anywhere any time as it is a web based application(user Location doesn’t matter).
  • No restriction that examiner has to be present when the candidate takes the test.

6.2 General Description

6.2.1 Function Description

  • Exam
    • Add, Update, Delete, and View Exam.
  • Test
    • Add, Update, Delete, and View Test.
  • Subject
    • Add, Update, Delete, and View Subject.
  • Report
    •    View Reports According To Date,Exam Name,Balance.

6.2.2 User Characteristics

  • Administrator
    • Administrator is the Core part of the System.
    • Administrator First Login and see the registered student detail.
    • Administrator have all the rights for any Operation like add Exam,Subject,Test And upload paper.
    • Administrator can also edit and delete exam,test and subject.
    • Administrator can see the Student balance.
    • Administrator can also view the student result report.
    • He can change his password.

7. Hardware & Software Specification

7.1  Hardware requirement (Recommended)

Server Side
CPU Intel P4 or above.
RAM 256 MB or more.
HARD DISK 2 GB (Min).
DISPLAY 16bit color with 1280 X 800 resolution.

 

Client Side
CPU Intel P4 or above
RAM 128 MB(min) or more.
DISPLAY 16bit color with 1024 X 768 resolution

7.2 Software Requirement

Server Side
Web server software
Apache Tomcat
Server side scripting toolsPHP
Database tools
Mysql
Compatible operating system
Linux, windows with IIS
Client Side
Web browser supporting JavaScript, Enable cookies

7. Detailed Design

7.1 Structure Chart (Hierarchical diagram)

 

7.2 Data Dictionary

The data dictionary of any system is an integral component of structure analysis, since data flow diagrams by themselves do not fully describe the subject under investigation about the system.
A data dictionary is a catalogue – a repository – of the elements in the system. These elements center on data and the way they are structured to meet user requirements and college needs of an employee.  This step of creating a data dictionary is simultaneous with the process of making data flow diagram(s). Here all the data fields in their respective tables are allotted so as to access these data in the system. Here in the Online Examination System we are using tables created in MYSQL  as it is the back-end tool used in the system.
The data dictionary consists of different major elements like Data Elements, Data Store [Tables Used], Data Flow, Processes and other External entities used in the system. The data dictionary stores details and description of these elements.
It is developed during data flow analysis and assists the analysts involved in determining the system requirements. Analysts use data dictionary for the following important reasons:
  • To manage the details in large system.
  • To communicate a common meaning for all system elements.
  • To document the features of the system.
  • To facilitate analysis of the details in order to evaluate the characteristics and determine where system changes should be made.
  • To locate errors and omissions in the system.
The data dictionary contains different types of descriptions for the data flowing through the system:
Data Elements is the most fundamental level which is also considered as the building block for all other data in the system. It refers to all the different data used like fields, data item, etc. to make the system fully functional irrespective to the table used in the system. Here all the different type of fields used to make table are written sequentially without referring to the tables. This process helps in the process of Normalization of tables.
Next to Data Elements comes the Data storage which provides the information of where and how each data element is stored in which table and it also give information of any constraints if there. This step also gives knowledge of different data types used for different field and their size. All the normalized tables are showed in data storage.
Data Flow stage shows the flow of data in the system. This step is can be already seen in the data flow diagrams above in this document. This step refers to all the data flow paths were transactions are done in the computerized system.
The data flow step also includes different processes used in the system and it is followed by External Entities used in the system.
1)  Student_master :-
            Primary Key:-Stud_Id
            Foreign Key:-City_id,State_id,Country_id
           Description:-Store the information about the Student Registration.
FieldData TypeLengthConstraintDescription
Stud_idVarchar5P.KId of student
First_nameVarchar15Not nullContain First Name of Student.
Middle_nameVarchar15Not nullContain Middle Name of Student
Last_nameVarchar15Not nullContain Last Name of Student .
Birth_dateDate/time-Not nullContain Birth date.
GenderVarchar1Not nullGender of Student
MobileInteger10Not nullContain Student mobile Number.
EmailVarchar35Not nullContain Student E-mail Address.
PasswordVarchar15Not nullContain Student Password.
Pwd_QuestionVarchar30Not nullContain password hint Question.
Pwd_AnswerVarchar15Not nullContain password hint Answer.
AddressVarchar50Not nullContain Student Address
Country_idVarchar5F.KCountry of Student.
State_idVarchar5F.KState of Student
City_idVarchar5F.KCity of Student
Pin_codeInteger6Not nullStudent pin code.
InstituteVarchar50Not nullContain institute name.
lastDegreeVarchar15Not nullContain Student last pass out degree
DegreeyearVarchar15Not nullContain Student last pass out degree year
DegreepercentageVarchar15Not nullContain Student last pass out degree percentage
Amountdouble(7,2)Not nullBalance of student
Reg_dateDateNot nullRegistration date of student

2) Exam_master :-
     Primary Key :Exam_Id
     Description   :-Store the information about Exam.
FieldData TypeLengthConstraintDescription
Exam_idVarchar5P.KContain Exam id
Exam_nameVarchar10Not nullContain Exam Name.
DescVarchar25Not nullContain Exam Description
FeesDouble(7,2)Not nullContain Fees of Exam.
MarksInteger3Not nullContain Total Marks of exam.
MaxtimeInteger3Not nullContain Time of Exam.
addeddateDate/time-Not nullDefine Date of Exam.

3) Exam_test_master:-
      Primary Key : Test_Id
      ForeginKey : Exam_Id
      Description   :-Store the information about test.
FieldData TypeLengthConstraintDescription
Test_idVarchar5P.KContain Test Id.
Exam_idVarchar5F.KContain Exam Id.
TestVarchar5Not nullExam Test Name.
Descrvarchar25Not nullDescription of Test.
MarksInteger3Not nullTotal Number of Marks.
MaxtimeInteger3Not nullMaximum Time.
StatusVarchar8Not nullStatus of Test
4) Subject_master:-
      Primary Key :Subject_Id
      Description   :-Store Detail of Subject
FieldData TypeLengthConstraintDescription
Subject_idVarchar5P.KContain Subject Id.
Subject_nameVarchar30Not nullContain Subject Name.
DescText50Not nullContain Description of subject.
5)Exam_test_subject :
    Primary key :Est_id
    Foreign Key :Test_id,Exam_id.,subject_id
   Description   :-Store the information about the Subject Exam.
FieldData TypeLengthConstraintDescription
Ets_idVarchar5P.KContain Paper id
Subject_idVarchar5FKContain Subject Id.
Exam_idVarchar5F.KContain Exam Id.
Test_idVarchar5F.KContain Test Id.
MarksInteger3Not nullTotal Marks of subject.
QuestionVarchar300Not nullContain Location Of PDF file.
True_ansVarchar50Not nullAnswer of Question.
6)  Pwd_question:-
        Primary Key :question_Id
        Description   :-Store the information about forgot password question.
FieldData TypeLengthConstraintDescription
question_idVarchar5P.KContain question Id.
Questionvarchar100Not nullContain Question.
7) Student_exam_test:-
       Primary Key :Test_Id
       ForeginKey :Exam_Id
      Description   :-Store the information about Exam subject
FieldData TypeLengthConstraintDescription
Studentexam_idVarchar3P.KContain student exam Id.
Ets_idVarchar5F.KContain exam Id.
True_ansInteger3Not nullTotal True Answer.
Start_timeDatetimeNot nullExam Start Time.
Time_takenDatetimeNot nullTime Taken by student to complete the test.
Started_dateDatetimeNot nullDate of Exam.
Total_QuestionInteger3Not nullTotal Number of Question.
AttendedInteger4Not nullNumber of question attended by student.
Stud_marksVarchar3Not nullMarks of student
AnswerVarchar3Not nullAnswer attended by student.
8) Inquiry:-
      Description   :-Store Information of Inquiry.
FieldData TypeLengthConstraintDescription
NameVarchar15Not nullName of Person.
EmailVarchar35Not nullContain Email.
PhoneVarchar10Not nullContain Phone Number.
CountryVarchar5Not nullDefine Country id.
EnqueryVarchar100Not nullQuery of user.
AdddateDatetime-Not nullContain Date.
9)  Payment:-
   Primary Key: Payment_ id
   Foreign Key :Stud_id
   Description   :-Store the  Information about Student Account.
FieldData TypeLengthConstraintDescription
Payment_idVarchar20P.KContain Payment Id.
Stud_idInteger5F.KContain Student Id.
AmountDouble(6,2)Not nullContain Total Amount.
StatusVarchar10Not nullDisplay Account Status.
TransdateDate/time-Not nullDate of Transaction.
10)Admin:-
       Primary Key:-username
       Description   :-Store Detail of Admin.
FieldData TypeLengthConstraintDescription
UsernameVarchar25P.KAdmin Username.
PasswordVarchar10Not nullAdmin Password.
11) Country:-
     Primary Key :Country_Id
     Description   :-Store the Country Detatil.
FieldData TypeLengthConstraintDescription
Country_idVarchar5P.KId of Country
Country_nameVarchar15Not nullName of country
12)State:-
     Primary Key :State_Id
     Foreign Key :Country_id
     Description   :-Store the State Details
FieldData TypeLengthConstraintDescription
State_idVarchar5P.KId of State
State_nameVarchar15Not nullName of State
Country_idVarchar5F.KCode of country
13) City:-
     Primary Key :City_Id
     Foreign Key :State_id,Country_id
     Description   :-Store Detail of city.
FieldData TypeLengthConstraintDescription
City_idVarchar5P.KId of City
City nameVarchar15Not nullName of City
Country_idVarchar5F.KCode of Country
State_idVarchar5F.KCode of State
8.  Entity Relationship Diagram

9. UML Diagram
  • The UML Is a Language
A language provides a vocabulary and the rules for combining words in that vocabulary for thepurpose of communication. A modelinglanguage is a language whose vocabulary and rulesfocus on the conceptual and physical representation of a system. A modeling language such asthe UML is thus a standard language for software blueprints.
9.1 Class Diagram
What is class diagram?
A class diagramshows a set of classes, interfaces, and collaborations and their relationships. These diagrams are the most common diagram found in modeling object-oriented systems. Class diagrams address the static design view of a system. Class diagrams that include active classes address the static process view of a system.
A class diagram is a picture for describing generic descriptions of possible systems. Class diagrams and collaboration diagrams are alternate representations of object models. Class diagrams contain classes and object diagrams contain objects, but it is possible to mix classes and objects when dealing with various kinds of metadata, so the separation is not rigid we applied that concepts over here. In Automated Test Case Generator the class diagram depicts the way classes are interrelated to one another and dependency among the class with their attributes towards them. The relationship among them depicts the way they are interlinked with each other. So the Class diagram plays an important role in sequence diagram as the function of class diagram is used in sequence diagram.

9.2 Use Case Diagram
A use case diagram is “a diagram that shows the relationships among actors and use cases within a system.”  Use case diagrams are often used to:
  • Provide an overview of all or part of the usage requirements for a system or organization in the form of an essential model or a business model.
  • Communicate the scope of a development project.
  • Model your analysis of your usage requirements in the form of a system use case
A use case model is comprised of one or more use case diagrams and any supporting documentation such as use case specifications and actor definitions.  Within most use case models the use case specifications tend to be the primary artifact with use case diagrams filling a supporting role as the “glue” that keeps your requirements model together.  Use case models should be developed from the point of view of your project stakeholders and not from the (often technical) point of view of developers.
  • Use-case diagrams depict:
  • Use cases.
  • System boundary boxes (optional).
  • Packages (optional).



9.3 Sequence Diagram
A sequence diagram shows elements as they interact over time, showing an interaction or interaction instance. Sequence diagram are organized along two axes: horizontal axis shows the elements that are involved in the interaction and the vertical axis represents time proceeding down the page.



9.4 Activity Diagram
Object interaction diagram includes the activity diagrams which are used to document workflows in a system, from the business level down to the operational level. Activity diagram is a variation in the state diagram where the “states” represent operations, and the transitions represent the activities that happen when the operation is complete.
Graphical Notation
  • Activity States
Activity states mark an action by an object. The notation for these states is rounded rectangles.
  • Transition
When an activity state is completed, processing moves to another Activity state. Transitions are used to mark this movement.
  • Initial state
The initial state marks the entry point and the initial Activity state. The notation  for the initial state is a solid circle. There can be only one initial state in a diagram.
  • Final State
Final states mark the end of the modeled workflow. There can be multiple final States on a diagram and these states are modeled using a solid circle surrounded by another circle.

Activity Diagram (Admin )

 

 Activity Diagram(Student)

 

9.5  State Diagram

State Diagram(Admin)

State Diagram(Student)

9.6 Deployment Diagram
Deployment modeling is a specialized type of structure modeling concerned with modeling the implementation environment of a system. In contrast to modeling the component of a system, a deployment model shows you the external resources that those components require.

 

10. Input & Output Design

10.1 Input Design
The quality of system input determines the quality of system output.
  • To design forms that people find useful, four guidelines for form design should be observed:
  • Make forms easy to fill in.
  • Ensure that forms meet the purpose for which they are designed.
  • Design forms to ensure accurate completion.
  • Keep forms attractive.
The four guidelines for display design are important but not exhaustive.
  • Keep the display simple.
  • Keep the display presentation consistent.
  • Facilitate user movement among display screens and pages.
  • Create an attractive and pleasing display.
  • Home Page

 

  •  Description:

This form display the home page. It will display when user visit the site
  • Student Registration

 Description:
          This Page allows new User to Get Registered on the site for the first time.
Input:
               User details, Personal information.
 Purpose:
              To get Registered on the site.
  Next Page:
               Redirect on “ Successfully Registration” page.
  • Successfully Registration    
                                                  

  •  Description:
                         This Page display after successfully Student Registration.
  • Student Forgot Password
  • Description:
          This form Help to know the login Detail When Student Forgot Password.
 Input:
          Student Email id, Security Question, Security Answer.
 Purpose:
          To get forgot password back
  • Student Login
  Description:
                 This Page used student to login in the system  .
 Input:
                Student Email id, password.
  Purpose:
              To login into the system.
 Next Page:
            Redirect on “ student area” page.
  • Student Login Successful.
  • Description:
             This Page display that student have no balance in his/her account to give exam.
  • Student See the Exam list.
  • Description:
          This Page display the exam list and pay money option to the student to pay money.
Input:
           Student has to click on the pay money button.
Purpose:
         To pay money for give the exam.
Next Page:
           Redirect on “ add money” page.

10. Implementation Methodology

When the Implementation Phase concludes, the system begins operating and continues to do so until the organization determines it has outlived its usefulness and starts planning for a replacement system. The approval of the Implementation Phase deliverables and the completion of the Implementation project status review, and the execution of project close-out activities, signify the end of the Implementation Phase.
When implementing a new system the method of changeover also has to be taken into account. Possible options include direct, phased, pilot, and parallel, although the decision is dependent upon cost, speed of changeover, and ability to risk disruption to staff and productivity.
Here, I amuses Online Examination Systemfor implementing front-end and back-end
10.1 Front End Description:-
PHP:
  • PHP is the Web development language written by and Web developers. PHP stands for PHP: Hypertext Preprocessor. The product was originally named Personal Home Page Tools,
  • PHP is server-side scripting language, which can be embedded in HTML or used as a standalone binary. Some tech journalists used to call PHP “the open source ASP” because its functionality is similar to the Microsoft product
  • You can use PHP to add common headers and footers to all the pages on a site or to store form-submitted data in a database. Strictly speaking, PHP has little to do with layout, events, on the fly DOM manipulation, or really anything about what a Web page looks and sounds like. In fact, most of what PHP does is invisible to the end user.
  • Someone looking at a PHP page will not necessarily be able to tell that it was not written purely in HTML, because the result of PHP is HTML.
  • PHP is an official module of Apache HTTP Server, the market-leading free Web server that runs about 67% of the World Wide Web. This means that the PHP scripting engine can be built into the Web server itself, leading to faster processing, more efficient memory allocation, and greatly simplified maintenance.
  • Like Apache server, PHP is fully cross-platform, meaning it runs native on several flavors of UNIX, as well as on Windows and now on Mac OS X. All projects under the aegis of the Apache Software Foundation including PHP -- are open source software.PHP support large number of protocols such as POP3, IMAP and LDAP.

JavaScript:

JavaScript is used in millions of Web pages to improve the design, validate forms, and much more. JavaScript was developed by Netscape and is the most popular scripting language on the internet.
            The JavaScript language was developed by Netscape Communications Corporation as an extension of the Hypertext Mark-up Language (HTML) to facilitate the development of interactive, full-featured applications on the World Wide Web. JavaScript statements are embedded in an HTML page and run directly as interpreted commands within the Web Client or on the Web Server. You can write JavaScript just like HTML code using a simple text editor.
  • JavaScript was designed to add interactivity to HTML pages.
  • JavaScript is a scripting language – that is a scripting language is a lightweight programming language.
  • A JavaScript is lines of executable computer code.
  • A JavaScript is usually embedded directly in HTML pages.
  • JavaScript is an interpreted language (means that scripts execute without preliminary compilation).
  • Everyone can use JavaScript without purchasing a license.
  • JavaScript is supported by all major browsers, like Netscape and Internet Explorer.
  • JavaScript gives HTML designers a programming tool - HTML authors are normally not programmers, but JavaScript is a scripting language with a very simple syntax! Almost anyone can put small "snippets" of code into their HTML pages.
  • JavaScript can put dynamic text into an HTML page - A JavaScript statement like this: document. write ("<h1>" + name + "</h1>") can write a variable text into an HTML page.
  • JavaScript can react to events - A JavaScript can be set to execute when something happens, like when a page has finished loading or when a user clicks on an HTML element.
  • JavaScript can read and write HTML elements - A JavaScript can read and change the content of an HTML element.
  • JavaScript can be used to validate data - A JavaScript can be used to validate form data before it is submitted to a server, this will save the server from extra processing.
10.2  Back End Description:-
My SQL:
  • MySQL (pronounced My EssQEl) is an open source, SQL Relational Database Management System (RDBMS) that is free for many uses. Early in its history, MySQL occasionally faced opposition due to its lack of support for same core SQL constructs such as sub selects and foreign keys. Ultimately, however, MySQL found a broad, enthusiastic user base for its liberal licensing terms, perky performance, and ease of use.
Its acceptance was aided in part by the wide variety of other technologies such as PHP, Java, Perl, Python, and the like that have encouraged its use through stable, well-documented modules and extensions. MySQL has not failed to reward the loyalty of these users with the addition of both sub selects and foreign keys frontend.

11.Testing & Results

11.1 Introduction
A strategy for software testing integrates software test case design methods into a well-planned series of steps that result in the successful construction of software. The strategy provides a road map that describes the steps to be conducted as part of testing, when these steps are planned and then undertaken, and how much effort, time, and resources will be required. Therefore, any testing strategy must incorporate test planning, test case design, test execution, and resultant data collection and evaluation.
11.1.1 Testing
The aim of the testing is to identify all defects exiting in a software product. However, for most practical systems, even after satisfactorily carrying out the testing phase, it is not possible to guarantee that the software is error free. This is because the input data domain of most software products is very large. It is not practical to test the software exhaustively with respect to each value that the input data may assume. Even with this practical limitation of the testing process, we should not underestimate the importance of testing. We must remember that testing does expose many defects exiting in a software product. Therefore, we can safely conclude that testing provides a particle way of reducing defects in a system and increasing the user’s confidence in a development system.
  • Testing Plan
Test plan is a systematic approach to testing a system such as a machine or software. The role of a test plan is to guide all testing activities. It defines what is to be tested and what is to be overlooked, how the testing is to be performed (described on a general level) and by whom. It is therefore a managerial document, not technical one - in essence; it is a project plan for testing. Test plan template, based on IEEE 829 format which are defined as follow:
For this project, two types of tests were followed:
  • Unit Test
Here each module was tested thoroughly using white box testing method. White box testing means the cases did sneak peak in the code snippets and check whether the result coming out of the case is correct or not. Also proper error checking is done or not. This kind of test was done along with the development of the module. Each module has its long list of test cases and must pass all of them.
For the display module along with the white box test, we had black box test also. As this module was the one with which a user interacts more, so this type of testing must be done for this module. Also both – white box and black box testing – was also needed to be done; and to make the testing more optimal, we did white box for unit testing and black box at integration testing.
  • Integration Test
This module was done after all the modules were developed and tested thoroughly. After the development of all modules, each module was attached to the main module and then tested again for the proper working of it. Here at the integration level, we did the black box testing. That will give a new dimension for the testing purpose. After the testing was done and all the errors were completed, next module was assigned for the integration process.
For all kinds of tests, if any error found in during the test, then the process was to correct that error first, then do all the test from the scratch and then go to next test case.
  • Testing Methods
Software Testing involves executing an implementation of the software with test data and examining the outputs of the software and its operational behavior to check that it is performing as required.
  • Statistical Testing
Statistical Testing is used to test the program’s performance and reliability and to check how it works under operational conditions. Tests are designed to reflect the actual user inputs and their frequency.
The stages involved in the static analysis for this system are follows.
  • Control flow analysis
  • Unreachable code
  • Unconditional branches into loops
  • Data use analysis
  • Variable used before initialization
  • Variables declared but never used
  • Variables assigned twice but never used between assignments
  • Possible array bound violations
  • Declared variables
  • Interface analysis
  • Parameter type mismatches
  • Parameter number mismatches
  • Non-usage of the results of functions
  • Uncalled functions and procedures
  • Storage management faults
  • Images not Stored in Resources
  • Insufficient memory space
  • Defect Testing
Defect Testing is intended to find inconsistencies between a program and its specification. These inconsistencies are usually due to the program faults or defects.
  • Unit Testing
The developer carries out unit testing in order to check if the particular module or unit of code is working fine. The Unit Testing comes at the very basic level as it is carried out as and when the unit of the code is developed or a particular functionality is built.
  • Loop Testing
Tester has tested the some conditions in code of application. So they test the looping in source code of application for finding miss rout or any error or wrong direction of flow in code.
  • Black Box Testing
The black-box approach is a testing method in which test data are derived from the specified functional requirements without regard to the final program structure. It is also termed data-driven, input/output driven , or requirements-based testing. Because only the functionality of the software module is of concern, black-box testing also mainly refers to functional testing -- a testing method emphasized on executing the functions and examination of their input and output data. The tester treats the software under test as a black box -- only the inputs, outputs and specification are visible, and the functionality is determined by observing the outputs to corresponding inputs. In testing, various inputs are exercised and the outputs are compared against specification to validate the correctness. All test cases are derived from the specification. No implementation details of the code are considered.
It is obvious that the more we have covered in the input space, the more problems we will find and therefore we will be more confident about the quality of the software. Ideally we would be tempted to exhaustively test the input space. But as stated above, exhaustively testing the combinations of valid inputs will be impossible for most of the programs, let alone considering invalid inputs, timing, sequence, and resource variables. Combinatorial explosion is the major roadblock in functional testing. To make things worse, we can never be sure whether the specification is either correct or complete. Due to limitations of the language used in the specifications (usually natural language), ambiguity is often inevitable. Even if we use some type of formal or restricted language, we may still fail to write down all the possible cases in the specification. Sometimes, the specification itself becomes an intractable problem: it is not possible to specify precisely every situation that can be encountered using limited words. And people can seldom specify clearly what they want they usually can tell whether a prototype is, or is not, what they want after they have been finished. Specification problems contribute approximately 30 percent of all bugs in software.
The research in black-box testing mainly focuses on how to maximize the effectiveness of testing with minimum cost, usually the number of test cases. It is not possible to exhaust the input space, but it is possible to exhaustively test a subset of the input space. Partitioning is one of the common techniques. If we have partitioned the input space and assume all the input values in a partition is equivalent, then we only need to test one representative value in each partition to sufficiently cover the whole input space. Domain testing partitions the input domain into regions, and considers the input values in each domain an equivalent class. Domains can be exhaustively tested and covered by selecting a representative value(s) in each domain. Boundary values are of special interest. Experience shows that test cases that explore boundary conditions have a higher payoff than test cases that do not. Boundary value analysis requires one or more boundary values selected as representative test cases. The difficulties with domain testing are that incorrect domain definitions in the specification cannot be efficiently discovered.
Good partitioning requires knowledge of the software structure. A good testing plan will not only contain black-box testing, but also white-box approaches, and combinations of the two.
  • White Box Testing
Also called ‘Glass Box’ or ‘Structural’ testing Tester has access to the system design.
They can examine the Design document
  • View source code
  • Individual path examine
  • Logical path examine one time
  • Logical decision on their true and false
The intention in white box testing is to ensure that all possible feasible flow of control paths through a subprogram is traversed while the software is under test. This is not the same as saying that all statements in the subprogram will be executed as it is possible for all statements to be executed but for not all of the possible paths to be traversed. However, the converse is true; if all possible paths through a subprogram are traversed then all statements in the subprogram will necessarily be executed.
When considering the number of possible paths through a subprogram two other factors need to be remembered. The first is that some of the possible paths through a subprogram turn out upon investigation to be non-feasible paths.
The second consideration is that the number of possible paths through a subprogram indicated by a flow graph analysis will indicate the minimum number of paths to ensure complete coverage. This may be less than the total number of paths which are possible when combinations of paths are allowed.
White Box testing is used as an important primary testing approach. Here code is inspected to see what it does; tests are designed to exercise the code. Code is tested using code scripts, driver, etc which are employed to directly interface with and drive the code.
The tester can analyze the code and use the knowledge about the structure of a component to derive the test data.
Advantages of White box testing are:
  • As the knowledge of internal coding structure is prerequisite, it becomes very easy to find out which type of input/data can help in testing the application effectively.
  • The other advantage of white box testing is that it helps in optimizing the code
  • It helps in removing the extra lines of code, which can bring in hidden defects.

  • Structural Testing
Developer has done path testing to exercise every independent execution path through a component or program. If every independent path is executed then all statements in the components must have been executed at least once. The structure of our program is also checked.
  • Integration Testing
After our individual modules Developer tested out Developer go to the integrated to create a complete system. This integration process involves building the system and testing the resultant system for problems that arise from component interactions.
  • Specifications: - In this testing, compare specific requirement of organization with our integrated system.
  • Navigation: - Sometimes the integrated system checked out for the navigation then to be described the process and navigation of the initial level to be precise for the tier system.
  • Check Business Rules: - In All the system first of all you need to understand business rules and then it verifies whether each business rules are followed or not.
  • Add, Modify, Delete: - After integrating all the module you require to check whether add, modify, delete functionality is worked as per specification or not After completion of all the type of above mentioned testing types, carry out the testing for add, modify, Delete functionality of system. Here you have to test whether you can add the data in database modify the data in database and delete the data from the database.
Developer has applied top-down strategy to validate high-level components of a system before design and implementations have been completed. Because, our development process started with high-level components and Developer worked down the component hierarchy.
  • Performance Testing
Performance testing is designed to test the runtime performance of the system within the context of the system. These tests Developer performed as module level as Developer as system level. Individual modules Developers tested for required performance.
  • Condition Testing
Condition testing is a test case design method that exercises the logical conditions contained in a program module. If the condition is incorrect, then as least one part of the condition is incorrect. It may include
  • Boolean variable error
  • String Index out of Bound error
  • Null Pointer Assignment
  • Input Output Connection Exceptions
  • Images or Map Unloaded errors
  • Arithmetic expression error
  • Interface Testing
Interface testing is integral part of Integration testing. Therefore Developer checked for the following:
  • Interface misuse
  • Interface misunderstanding
Developer examined the code to be tested and explicitly list each call to an external component. In the system, standards tests for GUIs have been performed, which are as follows.
  • The position and related labels for all controls checked.
  • All menu functions and sub functions verified for correctness.
  • Validations for all inputs done.
  • Each menu functions tested, whether it invokes the corresponding functionality properly.
  • Pull down controls was verified for proper functionality.
  • Whether the non-editable text control is disabling and it was also verified that it doesn’t exceed the maximum length.
  • Whether the system prompts the user with appropriate message as and when invalid information is entered.
  • All required fields aren’t left blank.
  • Object Testing
Object testing is to test object as individual components, which are often larger than single function. Here following activities have taken place.
  • Testing the individual operations associated with object.
  • Testing individual object classes.
  • Testing cluster of objects
  • Testing object-oriented system.
Now we will discuss how testing and debugging is done of this application. Our application can be divided into parts like:
  • Values of some attributes of forms are coming from database so no chance of wrong selection of that.
  • To make queries to database and retrieve information from it.
  • Maintain database’s such that its accessing speed becomes fast.
  • Reduce memory requirements for the database.
  • Maintain proper integration among database.

11.2 Screen Shots

  • Check for valid email id and password
  • Admin login failure
  • Admin login Successful
  • Student login failure
  • Student login successful
  • Require field validation
  • Require field leave blank
  • Check valid email address format
    • When enter invalid format of email address
  • When enter duplicate email address.
  • Check valid mobile number and length.
    • When enter invalid numbers
  • When enter invalid length.
  • Check password length and match with conformation password
    • When password length invalid
  • When password does not match
  • Check for Date Format.
    • When date entered is invalid.
  • Check for  selected country, state and city.
    • When city, country and state are not selected
  • Check for character only input.
    • When Enter numeric value or special character.
  • Check for numeric only input.
    • When enter the character.
  • Check for custom validation.
    •   When enter wrong emailid and question

12. Limitations & Future Scope

12.1 Limitations

Present system carries certain drawbacks and limitations as listed below.
  • Current system provides only multiple choices but single correct answer selection. Admin may wish to provide multiple choices multiple selection responses.
  • Incase questions and/or answers need to be in graphics, current system has no provision.
  • There is no negative marking in this system so, student cannot know his actual result as real exam.
12.2 Future Scope
  • The System can be enhanced to support other QA types like fill in the blanks, true/ false.
  • System can be enhanced by deploying it to the world wide web. So , user can use system from distant place.
  • There is proposition for adding an extra functionality for checking the subjective answer to with this system.
  • In future Result analysis will show in graphical forms.

13. Conclusion

The Online examination System is developed using PHP and MYSQL fully meets the objectives of the system for which it has been developed. The system has reached a steady state where all bugs have been eliminated. The system is operated at a high level of efficiency and all the teachers and userassociated with the system understands its advantage. The system solves the problem. It was intended to solve as requirement specification.
The Online examination System is developed using PHP and MYSQL fully meets the objectives of the system for which it has been deveoped. The system has reached a steady state where all bugs have been eliminated. The system is operated at a high level of efficiency and all the teachers and userassociated with the system understands its advantage. The system solves the problem. It was intended to solve as requirement specification.
14.References

WebSite

  1. www.php.net
  2. www.mysql.com.
  3. www.tizag.com/phptutorial
  4. www.W3school.com
  5. http://www.slideshare.net/dolly_g/report-on-online-exam-system-8917348
  6. http://www.deftinfosystems.com/index.php/application/e-education-system/online-examination-system.html
  7. http://www.ehow.com/facts_5156877_preface-book.html
 Books
  • 1) System Analysis and Design.
                     By: James A Sen.
  • 2) Software Engineering.
                    By: Roger Pressman.

Kategori

Kategori