Professional Documents
Culture Documents
ABSTRACT
Project Title
Project Description Online Test Center as mentioned in the name itself it is an exclusive web application developed for Conducting Online Tests to Students to assess their Performance. Generally these types of tests are conducted to students who want to write tests online. This Project mainly tests the Technical, Logical and Analytical skills of students. Usually Organizations conduct these types of tests for students online within a particular time of period. To write these tests the student has to register for, and then he will be given a unique userid and password to write the exam. After completing the exam he can view his results. There are two important modules in this Project. They are 1). Administrator 2). Student/ User Administrator will manage all things necessary for writing Online Exams. He will arrange Questions and tests needed for writing exams for students.
User friendly: This project provides very simple and modified features, which are very
easy to view and operate. This project is designed and organized in a very simplified manner to hold the details of Students.
Security:
Site security features include Username/Password authentication Per-user, feature-by-feature, and field-by-field access control Read-only and no access controls to keep identified users from seeing certain data fields in the Interface, emails, via XML, and all other interfaces or notifications Granular administrative privileges
ACKNOWLEDGEMENT
First and foremost, I thank Almighty God for all His blessings showered on me. I extend my thanks to all my friends for their moral support and encouragement. Last but not least I thank my parents who inspired us always to do the best. Candidate Name Ganga Bhavani Periketi 072258523
TABLE OF CONTENTS 1. INTRODUCTION 1.1Background 1.2Objectives 1.3 Purpose, Scope, and Applicability 1.3.1 Purpose 1.3.2 Scope 1.3.3 Applicability 1.4Achievements 1.5OrganisationReport 2. SURVEYS OF TECHNOLOGIES 3. REQUIREMENTS AND ANALYSIS 3.1 Problem Definition 3.2 Planning and Scheduling 3.3 Software and Hardware Requirements 3.4 Conceptual Models 4. SYSTEM DESIGN 4.1 Basic Modules 4.2 User interface design 4.3 Security Issues 4.4 Test Cases Design 5. IMPLEMENTATION AND TESTING 5.1 Coding Details 5.2 Testing Approach 6. CONCLUSIONS 6.1 Future Scope of the Project 6.2 References
TABLE OF FIGURES
1.UserLogin
This table explains about the login details of User. Column Name UserId UserName Password EmailId MobileNo Qualification Address Gender SkillSet Data type int varchar varchar varchar varchar varchar varchar varchar varchar Width Constraint Primary key Description An Identity number of Student UserName for Student Password for Student EmailId of Student MobileNo of Student Qualification of Student Address of Student Gender of Student. Skills of Student
50 50 50 50 50 50 50 50
2. Question This table explains about the total number of Questions in the project. Column Name TestId QuestionId Question Option1 Option2 Option3 Option4 Answer Data type varchar varchar varchar varchar varchar varchar varchar varchar Width 50 50 150 50 50 50 50 50 Constraint Foreign key Primary key Description An Identity number of test. An identity number for Questions Describes about the Question Options for the Question Options for the Question Options for the Question Options for the Question Answer for Question
3. SubjectType This table explains about the Subject Types inserted by admin.
Width 50
SubjectType
varchar
50
4. Subject This table explains about Subject which are used for test, entered by admin
Width 50 50 50
Description An Identity number for SubjectType An Identity number for Subject Describes about SubjectName
5. Test This table explains whole information about Test conducted for Student. Column Name TestId TestName Data type Varchar Varchar Width 50 50 Constraint Primary key Description An Identity for the Test Describes about the TestName An Identity for SubjectId Describes about Subject Name Describes about TestStart Date Describes about TestEnd Date
SubjectId SubjectName
Varchar Varchar
50 50
TestStartDate
Varchar
50
TestEndDate
Varchar
50
6. Exam 8
This table stores information about the test conducted to user and whole details based on his Exam reports. Column Name UserId TestId Marks Report ExamDate AssignTestId Status Data type varchar varchar int varchar varchar varchar varchar 50 50 50 50 Primary key Width 50 50 Constraint foreign Key DescriptionAn Identity about Student An Identity about Test Describes about Marks Gives Report status Tells about ExamDate An identity about Test Assignment Tells about Student status
1. INTRODUCTION
1.1 Background: Mainly this Project is used for those who want to conduct online Tests and for those who want to write tests online. 1.2 Objectives: The main objective of this project is to design a website for any organization to conduct online Tests to Students & to maintain their results for future purpose. 1.3 Purpose, Scope and Applicability: 1.3.1 Purpose: Purpose of this project is to create a website which has a feature of considering the Students and conducting online tests to them based on their category of interest. Some tests are assigned to the student and he has to write those particular tests. 1.3.2 Scope: Once the Administrator signs into the site he can make changes the entire look and feel according to his views. He can add new Tests. The administrator will conduct tests to the Students and tests their Performance. The administrator has accessibility to the site and the site has been developed by considerations to up comings of the organization in future enhancements. 1.3.3Applicability: This Project is mainly useful for any organization who wants to assign tests to students who wish to write exams through online where the User/Students profile will be maintained by the organization.
1.4. Achievements: This project give me an opportunity of improving my Designing, coding, analyzing and testing skills
10
2. SURVEY OF TECHNOLOGIES Microsoft.NET Framework The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to fulfill the following objectives:
To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
To provide a code-execution environment that minimizes software deployment and versioning conflicts. To provide a code-execution environment that guarantees safe execution of code, including code created by an unknown or semitrusted third party.
To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Webbased applications.
To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.
The .NET Framework has two main components: the common language runtime and the .NET Framework class library. The common language runtime is the foundation of the .NET Framework. You can think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that ensure security and robustness. In fact, the concept of code management is a fundamental principle of the runtime. Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code. The class library, the other main component of the .NET Framework, is a comprehensive, object-oriented collection of reusable types 11
that you can use to develop applications ranging from traditional commandline or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services. What is ASP.NET Web Forms? The ASP.NET Web Forms page framework is a scalable common language runtime-programming model that can be used on the server to dynamically generate Web pages. Intended as a logical evolution of ASP (ASP.NET provides syntax compatibility with existing pages), the ASP.NET Web Forms framework has been specifically designed to address a number of key deficiencies in the previous model. In particular, it provides:
can encapsulate common functionality and thus reduce the amount of code that a page developer has to write.
The ability for developers to cleanly structure their page The ability for development tools to provide strong
WYSIWYG design support for pages (existing ASP code is opaque to tools). ASP.NET Web Forms pages are text files with an. aspx file name extension. They can be deployed throughout an IIS virtual root directory tree. When a browser client requests. aspx resources, the ASP.NET runtime parses and compiles the target file into a .NET Framework class. This class can then be used to dynamically process incoming requests. (Note that the .aspx file is compiled only the first time it is accessed; the compiled type instance is then reused across multiple requests).
12
An ASP.NET page can be created simply by taking an existing HTML file and changing its file name extension to .aspx (no modification of code is required). For example, the following sample demonstrates a simple HTML page that collects a user's name and category preference and then performs a form post back to the originating page when a button is clicked: ASP.NET provides syntax compatibility with existing ASP pages. This includes support for <% %> code render blocks that can be intermixed with HTML content within an .aspx file. These code blocks execute in a top-down manner at page render time.
Code-Behind Web Forms ASP.NET supports two methods of authoring dynamic pages. The first is the method shown in the preceding samples, where the page code is physically declared within the originating .aspx file. An alternative approach--known as the code-behind method--enables the page code to be more cleanly separated from the HTML content into an entirely separate file. Introduction to ASP.NET Server Controls In addition to (or instead of) using <% %> code blocks to program dynamic content, ASP.NET page developers can use ASP.NET server controls to program Web pages. Server controls are declared within an .aspx file using custom tags or intrinsic HTML tags that contain a runat="server" attribute value. Intrinsic HTML tags are handled by one of the controls in the System.Web.UI.HtmlControls namespace. Any tag that doesn't explicitly map to one of the controls is assigned the type of System.Web.UI.HtmlControls.HtmlGenericControl. Server controls automatically maintain any client-entered values between round trips to the server. This control state is not stored on the
13
server (it is instead stored within an <input type="hidden"> form field that is round-tripped between requests). Note also that no clientside script is required. In addition to supporting standard HTML input controls, ASP.NET enables developers to utilize richer custom controls on their pages. For example, the following sample demonstrates how the <asp: adrotator> control can be used to dynamically display rotating ads on a page. 1. 2. 3. 4. 5. 6. 7. 8. ASP.NET Web Forms provide an easy and powerful ASP.NET Web Forms pages can target any browser ASP.NET Web Forms pages provide syntax
way to build dynamic Web UI. client (there are no script library or cookie requirements). compatibility with existing ASP pages. ASP.NET server controls provide an easy way to ASP.NET ships with 45 built-in server controls. ASP.NET server controls can automatically project both ASP.NET templates provide an easy way to customize ASP.NET validation controls provide an easy way to do encapsulate common functionality. Developers can also use controls built by third parties. up level and down-level HTML. the look and feel of list server controls. declarative client or server data validation.
14
SQL SERVER 2005 Microsoft SQL Server 2005 is comprehensive, integrated data management and analysis software that enables organizations to reliably manage mission-critical information and confidently run todays increasingly complex business applications. SQL Server 2005 allows companies to gain greater insight from their business information and achieve faster results for a competitive advantage. Top-10 Features of SqlServer-2005 1. T-SQL (Transaction SQL) enhancements T-SQL is the native set-based RDBMS programming language offering highperformance data access. It now incorporates many new features including error handling via the TRY and CATCH paradigm, Common Table Expressions (CTEs), which return a record set in a statement, and the ability to shift columns to rows and vice versa with the PIVOT and UNPIVOT commands. 2. CLR (Common Language Runtime) The next major enhancement in SQL Server 2005 is the integration of a .NET compliant language such as C#, ASP.NET or VB.NET to build objects (stored procedures, triggers, functions, etc.). This enables you to execute .NET code in the DBMS to take advantage of the .NET functionality. It is expected to replace extended stored procedures in the SQL Server 2000 environment as well as expand the traditional relational engine capabilities. 3. Service Broker The Service Broker handles messaging between a sender and receiver in a loosely coupled manner. A message is sent, processed and responded to, completing the transaction. This greatly expands the capabilities of data-driven applications to meet workflow or custom business needs.
15
4. Data encryption SQL Server 2000 had no documented or publicly supported functions to encrypt data in a table natively. Organizations had to rely on third-party products to address this need. SQL Server 2005 has native capabilities to support encryption of data stored in user-defined databases. 5. SMTP mail Sending mail directly from SQL Server 2000 is possible, but challenging. With SQL Server 2005, Microsoft incorporates SMTP mail to improve the native mail capabilities. Say "see-ya" to Outlook on SQL Server! 6. HTTP endpoints you can easily create HTTP endpoints via a simple T-SQL statement exposing an object that can be accessed over the Internet. This allows a simple object to be called across the Internet for the needed data. 7. Multiple Active Result Sets (MARS) MARS allow a persistent database connection from a single client to have more than one active request per connection. This should be a major performance improvement, allowing developers to give users new capabilities when working with SQL Server. For example, it allows multiple searches, or a search and data entry. The bottom line is that one client connection can have multiple active processes simultaneously. 8. Dedicated administrator connection If all else fails, stop the SQL Server service or push the power button. That mentality is finished with the dedicated administrator connection. This functionality will allow a DBA to make a single diagnostic connection to SQL Server even if the server is having an issue. 9. SQL Server Integration Services (SSIS) SSIS has replaced DTS (Data Transformation Services) as the primary ETL (Extraction, Transformation and Loading) tool and ships with SQL Server free of charge. This tool, completely rewritten since SQL Server 2000, now has a great deal of flexibility to address complex data movement.
16
3. REQUIREMENTS AND ANALYSIS 3.1 Problem Definition: This comprehensive Online Examination Center is developed for any organizations who want to conduct Online Tests to Students and for students who want to test their skills through these exams. Mainly what happens in these types of exams is some certain amount of time will be given to students and they have to write the exam in that time only. And another point we have to mention here is whenever any student wants to write the exams he has to write in particular period which was mentioned by the organization. For example whenever any exam was mentioned between January to February, then the User has to write in between that particular time period only. Unlike desktop systems, with this 100% web-based approach you get real-time visibility into what is actually happening. 3.2 Scheduling: Pert chart: Program Evaluation Review Technique, PERT can be both a cost and a time management system. PERT is organized by events and activities or tasks. PERT has several advantages over bar charts and is likely to be used with more complex projects. One advantage of PERT is that it is scheduling device that also shows graphically which tasks must be completed before others are begun.
Also, by displaying the various task paths, PERT enables the calculation of a critical path. Each path consists of combinations of tasks, which must be completed. PERT controls time and cost during the project and also facilitates finding the right balance between completing a project on time and completing it within the budget.
17
PERT CHART
START
I/O DESIGN
ANALYSIS
CODING
FINISH
WRITE MANUAL
18
Gantt chart (Bar Chart): A Bar Chart is perhaps the simplest form of formal project management. The bar chart is also known as Gantt chart. It is used almost exclusively for scheduling purposes and therefore controls only the time of projects. Gantt Charts are a project control technique that can be used for several purposes, including scheduling, budgeting and resource planning. A Gantt chart is a Bar Chart, with each bar representing an activity. The bars are drawn against a time line. The length of each bar is proportional to the length of time planned for the activity.
19
GANTT CHART
START ANALYSIS
I /O DESIGN CODING
WRITE MANUAL
INTEGRATION AND TESTING
SLACK TIME, i.e., the LATEST TIME by which a task must be finished White part of the bar shows the length of time each task is estimated to take
20
3.3 Software and Hardware Requirements The minimum software and hardware requirements are Software: Operating System Language Data Base IIS Hardware: Processor Clock speed Ram HDD FDD Pentium-III Intel 80486 800 MHZ or above 128 MB Ram or above 20 GB 1.44 MB Windows XP Professional (sp2) ASP.Net (C#.Net) Sql Server 2005 ISS 5.0
21
3.4 Conceptual Models: Entity Relationship Diagram An entity relationship diagram is a graphical representation of an organizations data storage Requirements. Entity relationship diagrams are abstractions of the real world which simplify the problem to be solved while retaining its essential features.
Student Entity
ms
Qualification
22
Administrator Entity
Administrator
Inserts Question s
23
Maintain s results
Administrator
Writes Exam
24
Flow Chart A flow chart is defined as a pictorial representation describing a process being studied or even used to plan stages of a project. Flow charts tend to provide people with a common language or reference point when dealing with a project or process. A flowchart is one of the seven basic tools of quality control, which also includes the histogram, Pareto chart, check sheet, control chart, cause-andeffect diagram, and scatter diagram (see Quality Management Glossary). They are commonly used in business/economic presentations to help the audience visualize the content better, or to find flaws in the process. Flow chart for Login Screen
START
Is Correct ?
STOP
25
External Input
Database Input
Input
Input
Displa y View
Maintains Results
26
Student module
External Input
Student
Display Display
Database Input
Message Display
External Input
Student
Database Input
Display Display
Message Display
27
UML Diagrams
Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. The UML is a very important part of developing objects oriented software and the software development process. The UML uses mostly graphical notations to express the design of software projects. Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software. Use Case Diagram Displays the relationship among actors and use cases. A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors.
28
Login Maintains Test Details Administrator Assigns Test to Students Conduct tests to Students Maintain Student Reports
Student Usecase Diagram Login Writes Tests Student View Result View Details (checklist)
29
Class Diagram
30
4. SYSTEM DESIGN
4.1 Basic Modules This Project contains totally 2 modules. 1. Administrator Module 2. Student Module 1.Administrator Module This Administrator Module is further divided into another sub modules as follows. Maintaining Tests Details Registering Students Assigning Tests to Students Conducting Tests to Students Maintaining Reports
Maintaining Test Details In this module every tests details are maintained. Like inserting subject details, Editing and deleting about all Test Details. Creating Tests based on Subjects. For each test inserting relevant Questions comes under this module
31
Registering Students In this module administrator will register the students who wish to write exams online. Admin will maintain student details and he will store them in database. According to his areas of interest exam will be conducted to the student on a particular date and time. Assigning Tests to Students In this module, to the students who wish to write an exam Online are assigned by the administrator. Depending upon the Skill set of the Student the test was assigned or depending upon the area of interest of the Student the test was assigned. Conducting Tests to Students This is the main module in the whole project, why because here only the test will be conducted to the Student. In between a particular period of time the test will be conducted why because this is an ONLINE Test. This should be conducted within time. Maintaining Reports In this module administrator will maintain reports of the Students. He will maintain individually or wholly. He can view a single student record or he can view multiple students records. These reports tell the status of Students results. So whenever the Student want to check their results they can check.
32
2.Student Details In this student module, we will discuss about the Students Details. Student has other sub modules. They are: Login Student will be given a UserName and Password to Login into the exam and to write the test. As a identification is needed for every one to write the exam, id and password will be issued. Write Exam Student will write the exam after logging into the Test. One by one Questions will be displayed. No negative marking is there. Student has to write each and every Question. He will be issued mark for each and every question. He has to answer all Questions. NO Question should be skipped. View Result After writing exam student can view the result immediately. He can view immediately or he can view after some days. Because Reports will be Login Write Exam View Result
33
maintained by the student for ever so that a student can check his result at any time.
4.3 Security Issues The Online Test Center deals with a lot of proprietary information for its Students, which are confidential. It is therefore imperative to provide a means though which information can be kept confidential. This is also ensures that the data that is put into the system maintains its integrity because malicious or unauthorized individual will not have access to alter them. The security is at administrative level at the data maintenances.
Test Type: Login Testing Test Case: Accept the user information and check whether he is a authenticated user or not Excepted Result: Navigates to the Login Page Observed Result: Displays the Home
Test Type: Validation Testing Test Case: Test the status of the project based on checklist id Excepted Result: Data manipulation in database Observed Result: Done button on the webpage
34
5.1 Coding Details Welcome User Module: Business Logic using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class WelcomeUser : System.Web.UI.Page { public int str1; public string ExamDate; public string Answer; public string TestId; public static int Marks = 0; public string str = ""; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //Marks = 0; MultiView1.ActiveViewIndex = 0; str = Session["UserName"].ToString(); str1 = int.Parse(dbcode.GetUserId(str)); FillTest(); } str = Session["UserName"].ToString(); str1 = int.Parse(dbcode.GetUserId(str)); ExamDate = System.DateTime.Now.ToString("MM-dd-yyyy"); } public void FillTest() {
35
DataSet ds = dbcode.FillEmployeeTest(str1.ToString()); if (ds.Tables[0].Rows.Count > 0) { ddlTest.Items.Clear(); foreach (DataRow row in ds.Tables[0].Rows) { ddlTest.Items.Add(row[0].ToString()); } ddlTest.Items.Insert(0, "Select"); ddlTest.SelectedIndex = 0; } else { Response.Write("<script>alert('No tests to be written')</script>"); } } protected void btnStart_Click(object sender, EventArgs e) { MultiView1.ActiveViewIndex = 1; FillQuestion(); } public static int i=0; DataSet ds; public void FillQuestion() { TestId = dbcode.GetTestId(ddlTest.SelectedItem.Value.ToString()); ds = dbcode.GetQuestion(TestId); if(i<ds.Tables[0].Rows.Count) { lblQuestion.Text = ds.Tables[0].Rows[i]["Question"].ToString(); lblOption1.Text = ds.Tables[0].Rows[i]["Option1"].ToString(); lblOPtion2.Text = ds.Tables[0].Rows[i]["Option2"].ToString(); lblOPtion3.Text = ds.Tables[0].Rows[i]["Option3"].ToString(); lblOption4.Text = ds.Tables[0].Rows[i]["Option4"].ToString(); Session["Answer"] = ds.Tables[0].Rows[i]["Answer"].ToString(); } } public string check; protected void btnNext_Click(object sender, EventArgs e) { i = i + 1; string ans = Session["Answer"].ToString(); check=rdbAnswer.SelectedItem.Text.ToString(); if (ans ==check) { Marks = Marks + 1;
36
} FillQuestion(); rdbAnswer.ClearSelection(); TestId = dbcode.GetTestId(ddlTest.SelectedItem.Value.ToString()); string Status = "Written"; string report = ""; if (Marks >= 1) { report = "Qualified"; } else { report = "Not Qualified"; } if (i>=ds.Tables[0].Rows.Count) { bool b = dbcode.InsertExam(str1, TestId, Marks, report, ExamDate, Status); if (b == true) { i = 0; Response.Write("<script>alert('Result Inserted')</script>"); lblTestover.Visible = true; lnkResult.Visible = true; } } } protected void lnkResult_Click(object sender, EventArgs e) { MultiView1.ActiveViewIndex = 2; TestId = dbcode.GetTestId(ddlTest.SelectedItem.Value.ToString()); DataSet ds1 = dbcode.GetResult(str1.ToString(), TestId); GridView1.DataSource = ds1.Tables[0]; GridView1.DataBind(); } }
37
User Interface Logic <%@ Page Language="C#" AutoEventWireup="true" CodeFile="WelcomeUser.aspx.cs" Inherits="WelcomeUser" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:MultiView ID="MultiView1" runat="server"> <asp:View ID="View1" runat="server"> <div style="text-align: center"> <table> <tr> <td colspan="3"> <asp:Label ID="Label1" runat="server" FontBold="True" Font-Names="Verdana" ForeColor="RoyalBlue" Text="Welcome to Dear User" Width="300px"></asp:Label></td> </tr> <tr> <td style="width: 88px"> <br /> <asp:Label ID="Label2" runat="server" FontBold="True" Font-Names="Verdana" Font-Size="10pt" ForeColor="RoyalBlue" Text="List of Tests" Width="118px"></asp:Label></td> <td style="width: 100px" align="left"> <br /> <asp:DropDownList ID="ddlTest" runat="server" Width="128px"> </asp:DropDownList> </td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 88px; height: 21px;"> </td> <td colspan="2" align="left" style="height: 21px"> <asp:Label ID="Label3" runat="server" FontBold="True" Font-Names="Verdana" Font-Size="10pt"
38
ForeColor="RoyalBlue" Text="Select a test from Above" Width="182px"></asp:Label></td> </tr> <tr> <td colspan="3" style="height: 21px"> </td> </tr> <tr> <td style="height: 21px;" align="left" colspan="3"> <asp:Label ID="Label5" runat="server" Text="Instructions to Candidates" Width="163px"></asp:Label></td> </tr> <tr> <td align="left" colspan="3"> <asp:Label ID="Label15" runat="server" Text="1. Select one of the Tests from the Above It is mandatory." Width="364px"></asp:Label></td> </tr> <tr> <td align="left" colspan="3"> <asp:Label ID="Label9" runat="server" Text="2. Once you start the exam, you have to enter all the questions. " Width="400px"></asp:Label></td> </tr> <tr> <td align="left" colspan="3"> <asp:Label ID="Label11" runat="server" Text="3. Once you start writing you cant go back to the earlier question. So, please before answering the Question."></asp:Label></td> </tr> <tr> <td align="left" colspan="3" style="height: 21px"> <asp:Label ID="Label13" runat="server" Text="4. Each Question is mandatory, so Answer each and every question, Answer one by one." Width="559px"></asp:Label></td> </tr> <tr> <td align="left" colspan="3"> <asp:Label ID="Label14" runat="server" Text="5. After completing all questions click TEST OVER Button." Width="371px"></asp:Label></td> </tr> <tr> <td align="left" colspan="3"> <asp:Label ID="Label6" runat="server" Text="6. No negative Answers." Width="172px"></asp:Label></td> </tr> <tr> <td align="left" colspan="3"> </td>
39
</tr> <tr> <td align="left" colspan="3"> </td> </tr> <tr> <td colspan="3"> <asp:Button ID="btnStart" runat="server" FontBold="True" ForeColor="DarkBlue" OnClick="btnStart_Click" Text="START Test" /></td> </tr> </table> </div> </asp:View> <asp:View ID="View2" runat="server"> <div style="text-align: center"> <table> <tr> <td style="width: 100px" align="left"> <asp:Label ID="Label4" runat="server" Font-Size="14pt" Text="Question" ForeColor="DimGray"></asp:Label> </td> <td style="width: 100px" align="left"> <br /> <asp:Label ID="lblQuestion" runat="server" FontSize="14pt" Text="Label" ForeColor="DimGray" Width="281px"></asp:Label> </td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px" align="left"> <asp:Label ID="Label7" runat="server" Font-Size="14pt" Text="Option1" ForeColor="DimGray"></asp:Label></td> <td style="width: 100px" align="left"> <asp:Label ID="lblOption1" runat="server" FontSize="14pt" Text="Label" ForeColor="DimGray" Width="285px"></asp:Label></td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px" align="left"> <asp:Label ID="Label8" runat="server" Font-Size="14pt" Text="Option2" ForeColor="DimGray"></asp:Label> </td> <td style="width: 100px" align="left">
40
<asp:Label ID="lblOPtion2" runat="server" FontSize="14pt" Text="Label" ForeColor="DimGray" Width="285px"></asp:Label></td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px; height: 21px" align="left"> <asp:Label ID="Label10" runat="server" FontSize="14pt" Text="Option3" ForeColor="DimGray"></asp:Label></td> <td style="width: 100px; height: 21px" align="left"> <asp:Label ID="lblOPtion3" runat="server" FontSize="14pt" Text="Label" ForeColor="DimGray" Width="283px"></asp:Label></td> <td style="width: 100px; height: 21px"> </td> </tr> <tr> <td style="width: 100px" align="left"> <asp:Label ID="Label12" runat="server" FontSize="14pt" Text="Option4" ForeColor="DimGray"></asp:Label></td> <td style="width: 100px" align="left"> <asp:Label ID="lblOption4" runat="server" FontSize="14pt" Text="Label" ForeColor="DimGray" Width="281px"></asp:Label></td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px" align="left"> </td> <td style="width: 100px" align="left"> <br /> <asp:RadioButtonList ID="rdbAnswer" runat="server" Font-Size="14pt" RepeatDirection="Horizontal" AutoPostBack="True"> <asp:ListItem>a</asp:ListItem> <asp:ListItem>b</asp:ListItem> <asp:ListItem>c</asp:ListItem> <asp:ListItem>d</asp:ListItem> </asp:RadioButtonList></td> <td style="width: 100px"> <asp:Button ID="btnNext" runat="server" FontBold="True" OnClick="btnNext_Click" Text="Next" /></td> </tr> <tr> <td style="width: 100px" align="left"> </td> <td style="width: 100px" align="left"> </td>
41
<td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px" align="left"> </td> <td style="width: 100px" align="left"> <asp:Label ID="lblTestover" runat="server" FontBold="True" Font-Size="14pt" ForeColor="#FF3300" Text="Test Over" Visible="False"></asp:Label></td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px" align="left"> </td> <td style="width: 100px" align="left"> <asp:Button ID="lnkResult" runat="server" OnClick="lnkResult_Click" Text="Result" Visible="False" /></td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px" align="left"> </td> <td style="width: 100px" align="left"> </td> <td style="width: 100px"> </td> </tr> </table> </div> </asp:View> <asp:View ID="View3" runat="server"> <div style="text-align: center"> <table> <tr> <td colspan="3"> <asp:Label ID="Label16" runat="server" FontBold="True" Font-Size="14pt" ForeColor="#FF3300" Text="Result Page" Visible="False"></asp:Label><br /> <br /> </td> </tr> <tr>
42
<td colspan="3"> <asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Vertical"> <FooterStyle BackColor="#CCCC99" /> <RowStyle BackColor="#F7F7DE" /> <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" /> <SelectedRowStyle BackColor="#CE5D5A" FontBold="True" ForeColor="White" /> <HeaderStyle BackColor="#6B696B" FontBold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView> </td> </tr> <tr> <td style="width: 100px"> </td> <td style="width: 100px"> </td> <td style="width: 100px"> </td> </tr> <tr> <td style="width: 100px"> </td> <td style="width: 100px"> </td> <td style="width: 100px"> </td> </tr> </table> </div> </asp:View> </asp:MultiView></div> </form> </body> </html>
43
5.2 Testing Approach Software Testing Techniques: Software testing is a critical element of software quality assurance and represents the ultimate review of specification, designing and coding. Test Case Design: Any engineering product can be tested in one of two ways: White Box Testing: This testing is also called as glass box testing. In this testing, by knowing the specified function that a product has been designed to perform test can be conducted that demonstrates each function is fully operation at the same time searching for errors in each function. It is a test case design method that uses the control structure of the procedural design to derive test cases. Basis path testing is a white box testing. Black Box Testing: In this testing by knowing the internal operation of a product, tests can be conducted to ensure that all gears mesh, that is the internal operation performs according to specification and all internal components have been adequately exercised. It fundamentally focuses on the functional requirements of the software. The steps involved in black box test case design are: 1. Graph based testing methods 2. Equivalence partitioning 3. Boundary value analysis 4. Comparison testing
44
A software testing strategy provides a road map for the software developer. Testing is a set of activities that can be planned in advance and conducted systematically. For this reason a template for software testing a set of steps into which we can place specific test case design methods should be defined for software engineering process. Any software testing strategy should have the following characteristics: 1. Testing begins at the module level and works outward toward the integration of the entire computer based system. 2. Different testing techniques are appropriate at different points in time. 3. The developer of the software and an independent test group conducts testing. 4. Testing and Debugging are different activities but debugging must be accommodated in any testing strategy. Unit Testing: Unit testing focuses verification efforts in smallest unit of software design (module). Unit test considerations Unit test procedures Integration Testing: Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing. There are two types of integration testing: 1. Top-Down Integration: Top down integration is an incremental approach to construction of program structures. Modules are integrated by moving down wards throw the control hierarchy beginning with the main control module. 2. Bottom-Up Integration: Bottom up integration as its name implies, begins construction and testing with automatic modules. 45
3. Regression Testing: In this contest of an integration test strategy, regression testing is the re execution of some subset of test that have already been conducted to ensure that changes have not propagate unintended side effects.
VALIDATION TESTING: At the culmination of integration testing, software is completely assembled as a package; interfacing errors have been uncovered and corrected, and a final series of software tests validation testing may begin. Validation can be fined in many ways, but a simple definition is that validation succeeds when software functions in a manner that can be reasonably expected by the customer. Reasonable expectation is defined in the software requirement specification a document that describes all user-visible attributes of the software. The specification contains a section titled Validation Criteria. Information contained in that section forms the basis for a validation testing approach.
VALIDATION TEST CRITERIA: Software validation is achieved through a series of black-box tests that demonstrate conformity with requirement. A test plan outlines the classes of tests to be conducted, and a test procedure defines specific test cases that will be used in an attempt to uncover errors in conformity with requirements. Both the plan and procedure are designed to ensure that all functional requirements are satisfied; all performance requirements are achieved; documentation is correct and human-engineered; and other requirements are met. After each validation test case has been conducted, one of two possible conditions exist: (1) The function or performance characteristics conform to specification and are accepted, or (2) a deviation from 46
specification is uncovered and a deficiency list is created. Deviation or error discovered at this stage in a project can rarely be corrected prior to scheduled completion. It is often necessary to negotiate with the customer to establish a method for resolving deficiencies. Alpha and Beta Testing: It is virtually impossible for a software developer to foresee how the customer will really use a program. Instructions for use may be misinterpreted; strange combination of data may be regularly used; and output that seemed clear to the tester may be unintelligible to a user in the field. When custom software is built for one customer, a series of acceptance tests are conducted to enable the customer to validate all requirements. Conducted by the end user rather than the system developer, an acceptance test can range from an informal test drive to a planned and systematically executed series of tests. In fact, acceptance testing can be conducted over a period of weeks or months, thereby uncovering cumulative errors that might degrade the system over time. If software is developed as a product to be used by many customers, it is impractical to perform formal acceptance tests with each one. Most software product builders use a process called alpha and beta testing to uncover errors that only the end user seems able to find. A customer conducts the alpha test at the developers site. The software is used in a natural setting with the developer looking over the shoulder of the user and recording errors and usage problems. Alpha tests are conducted in controlled environment. The beta test is conducted at one or more customer sites by the end user of the software. Unlike alpha testing, the developer is generally not present. Therefore, the beta test is a live application of the software in an environment that cannot be controlled by the developer. The customer records all problems that are encountered during beta testing and reports these to the developer at regular intervals. As a result of problems reported during bets
47
test, the software developer makes modification and then prepares for release of the software product to the entire customer base.
48
6. CONCLUSIONS The project titled as Online Test Center was deeply studied and analyzed to design the code and implement with various testing methods was done under the guidance of the experienced project guide. The solution developed is free from all the bugs and executable with all different modules to the utmost satisfaction of the client. All the current requirements and possibilities have been taken care during the project time. We feel that the solution provided now will suit to all the needs of various clients in the same industry but also we dont rule the possibilities of further upgrading of this solution with the new and advance technologies and further additional requirements of the clients. The documentation and the project report is finally prepared to be referred as user manual for further effective results of this software solution
49
6.1 Future Scope of the Project: This project Online Test Center gives scope for further enhancement. To this project some features can be added like maintaining Student Details and negative marking in Online Exams. 6.2 References: Visual Basic 2005 for Beginners -------- IVAN BAYROSS SHARANAM SHAH Software Engineering -----Roger S.Pressman An Integrated Approach to Software Engineering ----Pankaj Jalote An introduction to Database Systems ----C.J.Date Database System Concepts ---- Henry F.Korth ----Abraham Silberscatz System Analysis and Design ----I.T.Hawryszkiewycz
50