1. Automated Online Test SystemAutomated Online Test System
PresentedPresented
byby
Chauhan RajeshChauhan Rajesh
Welcome To Onlin Examination
2. (Teacher)(Teacher) OTL is an Automated Online Test System that allows aOTL is an Automated Online Test System that allows a
teacher or an educator to create his / her test that can consist of multipleteacher or an educator to create his / her test that can consist of multiple
choice test questions and true / false test questions which are generatedchoice test questions and true / false test questions which are generated
by utilizing the Unix environment. The administer/ teacher is allow toby utilizing the Unix environment. The administer/ teacher is allow to
generate as many questions as needed. This Automated Online Testgenerate as many questions as needed. This Automated Online Test
System which the administrator has to supply his/ her own testbank thusSystem which the administrator has to supply his/ her own testbank thus
the system will randomly generate questions for a test. This particularthe system will randomly generate questions for a test. This particular
system also has it own automated Scoring system etc.system also has it own automated Scoring system etc.
(Student) OTL is an Automated Online Test System that allows a(Student) OTL is an Automated Online Test System that allows a
student (s) to take online test and have the capability to view his / herstudent (s) to take online test and have the capability to view his / her
score immediately after taking the online exam. The student is alsoscore immediately after taking the online exam. The student is also
given the opportunity to view both the correct and incorrect solutions.given the opportunity to view both the correct and incorrect solutions.
Thus, this will give the student opportunity to hopefully improve on theThus, this will give the student opportunity to hopefully improve on the
next time if some of the same answers or presented.next time if some of the same answers or presented.
Scope
3. System PathSystem Path
C
Create a repository
By typing the command
~testlab/bin/Xrepository/
Xrepos_Create then hit
Enter then type rehash
Install online test by
Typing the command
~cis4932joe/bin/Install_
OnlineTester.csh X
then type rehash
Create a test bank note
you can look at
samplebank.txt as an
example you may need to
checkin in order to use it.
Make sure you use the
sample naming technique
U
U P
Please check to make sure
all the files needed are in
your repository
Now type MakeTest.csh
and hit enter. Select
each choice in order and
make sure to enter in all
test information as
requested note to user
use the testbank that you
created.
If the test is generated sucessfully
The run the test by typing the
./testname-t.run and see if there are any
Error with your test. If the test does not
Generate please check your testbank
It may be that you have simply entered
a double quote which is not allowed
or that you may some simple parse errors
After finding that all the test
components are working one
is now ready to have his/ her
students access the test
4. System files & componentsSystem files & components
ScoreAnswer-t.o
ScoreAnswer-v.o
ScoreAnswer-x.o
ScoreAnswer.h
GetAnswer.cpp*
GenTest.csh
GenTest.run
AnsList.cpp
quiz.cpp G
e
MakeTest.csh
Bin
Repoistory
Compute scores
and store scores
in the repository
Get Answer
and display
previous
answer.
Load the
answer
Object files
Header file
for the
version of
the scoring
function
Generate An
Online Test
Generate
test main
Program
from
quizx.cpp
template
Help
generate
main
program
componen
ts
6. Inside Make Test.cshInside Make Test.csh
Define Test
Option 1: testid,
numquestions,
numtries,
duemonth,
dueday, duehour,
maxtries
G
e
n
e
r
a
t
Generate test
components
from testbank
Set test id
Set testbanksize
Generate Test
main Program
Source code
TPmcopy
quizx.cpp
TPmcopy
GenTest.csh
Build Version of
Test(excutable)
TPmcopy
AnsList.cpp,
scoreAnswer.h,
GenQuestions.h,
GetAnswer.cpp,
ScoreAnswer-
$testsyle.o,
GenQuestion.0
Quit
7. System StakeholdersSystem Stakeholders
The stakeholders:
Teachers -User who will utilize the system to create
his/her own online test
Students-User who will utilized the system by taking
the test created by the tester
8. Views and Constraints (Student)Views and Constraints (Student)
ViewsViews
Welcome MessageWelcome Message
User nameUser name
Date/ Time (Start andDate/ Time (Start and
Completion)Completion)
Test scoreTest score
Test nameTest name
Answers both old answerAnswers both old answer
and new answerand new answer
QuestionsQuestions
9. ConstraintsConstraints
► It also alerts one to re-enter if there is an opportunity to tryIt also alerts one to re-enter if there is an opportunity to try
againagain
at particular question thus it will only allow the person to re-enterat particular question thus it will only allow the person to re-enter
an answer according to the maxtries defined for test.an answer according to the maxtries defined for test.
► It also alerts one if they no longer are able to re-take the testIt also alerts one if they no longer are able to re-take the test
that they have reached his/ her maximum attempts at taking thethat they have reached his/ her maximum attempts at taking the
test.test.
► It records the test try in advance to prevent student fromIt records the test try in advance to prevent student from
studying the test without penalty.studying the test without penalty.
► After so many attempts the system will supply a new version ofAfter so many attempts the system will supply a new version of
the test to the student.the test to the student.
10. Test Results ExamplesTest Results Examples
► 1) Define Test |1) Define Test |
► | 2) Generate Test Components from TestBank || 2) Generate Test Components from TestBank |
► | 3) Generate Test Main Program Source Code || 3) Generate Test Main Program Source Code |
► | 4) Build Version of Test Program || 4) Build Version of Test Program |
► | || |
► | 0) QUIT || 0) QUIT |
► +--------------------------------------------------------++--------------------------------------------------------+
►
► WORKING ONT TEST# 1, 2 Questions, 3 TRIES, Due on 1/12 at 11 PM, TESTID = test1,WORKING ONT TEST# 1, 2 Questions, 3 TRIES, Due on 1/12 at 11 PM, TESTID = test1,
► TestBankSize = 50, SourceFileName = test1.cpp, tryLimit = 3TestBankSize = 50, SourceFileName = test1.cpp, tryLimit = 3
► Enter Choice: 1Enter Choice: 1
► Enter test#: 1Enter test#: 1
► Enter number of questions: 10Enter number of questions: 10
► Enter number of tries per question list: 3Enter number of tries per question list: 3
► Enter Month Due (1-12): 4Enter Month Due (1-12): 4
► Enter Date Due (1-31): 1Enter Date Due (1-31): 1
► Enter Date PM Hour (1-11): 11Enter Date PM Hour (1-11): 11
► Enter maximum number of tries at exam: 3Enter maximum number of tries at exam: 3
11. ► Enter Choice: 2Enter Choice: 2
► STARTING UP ... Test Program BuilderSTARTING UP ... Test Program Builder
► Enter name of question BANK file: unixbank.txtEnter name of question BANK file: unixbank.txt
► Enter name of question CLASS file (e.g., test1, quiz1, final): test1class.cppEnter name of question CLASS file (e.g., test1, quiz1, final): test1class.cpp
► Enter name of test PROCEDURES file (e.g., test1, quiz1, final): test1proc.cppEnter name of test PROCEDURES file (e.g., test1, quiz1, final): test1proc.cpp
WORKING ONT TEST# 1, 10 Questions, 3 TRIES, Due on 4/1 at 11 PM, TESTID =
test1,
TestBankSize = 40, SourceFileName = test1.cpp, tryLimit = 3
Enter Choice: 3
No match
RCS/ quizx.cpp,v --> quizx.cpp
revision 1.22
done
WORKING ONT TEST# 1, 10 Questions, 3 TRIES, Due on 4/1 at 11 PM, TESTID =
test1,
TestBankSize = 40, SourceFileName = test1.cpp, tryLimit = 3
12. --
► RCS/AnsList.cpp,v --> AnsList.cppRCS/AnsList.cpp,v --> AnsList.cpp
► revision 1.1revision 1.1
► donedone
► No matchNo match
► RCS/ScoreAnswer.h,v --> ScoreAnswer.hRCS/ScoreAnswer.h,v --> ScoreAnswer.h
► revision 1.1revision 1.1
► donedone
► No matchNo match
► RCS/GenQuestions.h,v --> GenQuestions.hRCS/GenQuestions.h,v --> GenQuestions.h
► revision 1.1revision 1.1
► donedone
► No matchNo match
► RCS/GetAnswer.cpp,v --> GetAnswer.cppRCS/GetAnswer.cpp,v --> GetAnswer.cpp
► revision 1.8revision 1.8
► donedone
► No matchNo match
► RCS/ScoreAnswer-t.o,v --> ScoreAnswer-t.oRCS/ScoreAnswer-t.o,v --> ScoreAnswer-t.o
► revision 1.1revision 1.1
► donedone
► No matchNo match
► RCS/GenQuestions.o,v --> GenQuestions.oRCS/GenQuestions.o,v --> GenQuestions.o
► revision 1.1revision 1.1
► donedone
Enter Choice: 4
Enter test style (t - Tutorial; v - Verification; x - Live): t
13. Errors FoundErrors Found
► DeficienciesDeficiencies
► The system currently is allowing theThe system currently is allowing the
► students to have the opportunitystudents to have the opportunity
► to take the test more times thento take the test more times then
► that which was predefined whenthat which was predefined when
► generating the test.generating the test.
►
► The system at this time does not alertThe system at this time does not alert
► The user to the fact that when aThe user to the fact that when a
► compile error occurs in the systemcompile error occurs in the system
► that it may be the simple fact thatthat it may be the simple fact that
► he/she may have placed double quotehe/she may have placed double quote
► someone within the test bank thatsomeone within the test bank that
► not allowed.not allowed.
►
14. Errors Found (Continued)Errors Found (Continued)
► The system does not allow you to re-enter information if you have already hit enter before you haveThe system does not allow you to re-enter information if you have already hit enter before you have
deleted and corrected the incorrect information. By simply going back if you already hit entered.deleted and corrected the incorrect information. By simply going back if you already hit entered.
You can not go back to the previous line you have to go back to the beginning by selecting thatYou can not go back to the previous line you have to go back to the beginning by selecting that
choice where you entered the information in incorrectly. Thus, you are required to re-enter all thechoice where you entered the information in incorrectly. Thus, you are required to re-enter all the
previous lines even if some of the lines previously were entered in correctly.previous lines even if some of the lines previously were entered in correctly.
► The system does not alert the user that he / she must append class.cpp when asking for the name ofThe system does not alert the user that he / she must append class.cpp when asking for the name of
the class file.the class file.
► The system does not alert the user that he/ she must append proc.cpp when ask for the name ofThe system does not alert the user that he/ she must append proc.cpp when ask for the name of
class procedure file.class procedure file.
► The system will allow a user to enter the number of questions as being a letter when it should onlyThe system will allow a user to enter the number of questions as being a letter when it should only
accept positive number and not characters , however, it will alert the user after completing step 4accept positive number and not characters , however, it will alert the user after completing step 4
the it does there is an compile error in test 1 that has undeclared e. However it should alert the userthe it does there is an compile error in test 1 that has undeclared e. However it should alert the user
that he/ she must re-enter when he/she enters unacceptable values at the time that it occurs.that he/ she must re-enter when he/she enters unacceptable values at the time that it occurs.
WORKING ON TEST# 1, 2 Questions, e TRIES, Due on 6/31 at 1 PM, TESTID = test1, TestBankSizeWORKING ON TEST# 1, 2 Questions, e TRIES, Due on 6/31 at 1 PM, TESTID = test1, TestBankSize
= 50, SourceFileName = test1.cpp, tryLimit = 2= 50, SourceFileName = test1.cpp, tryLimit = 2
► test1.cpp: In function `int main()':test1.cpp: In function `int main()':
► test1.cpp:132: `e' undeclared (first use this function)test1.cpp:132: `e' undeclared (first use this function)
► test1.cpp:132: (Each undeclared identifier is reported only once for eachtest1.cpp:132: (Each undeclared identifier is reported only once for each
► function it appears in.)function it appears in.)
► . The user should be alerted not to let the banksize = the number of question or the system will not. The user should be alerted not to let the banksize = the number of question or the system will not
work correctly. Thus one should enter the bank size as being larger than the number of question bework correctly. Thus one should enter the bank size as being larger than the number of question be
entered.entered.
► . The system should be more informative when it comes to presenting error deficiencies.. The system should be more informative when it comes to presenting error deficiencies.
15. Online TestOnline Test
(Use Case Diagram)(Use Case Diagram)
Teacher
Modify, add, delete, test
information
Define Test
Generate Test
Components
from Test Bank
Generate Test
Main Program
Source Code
Build Version of
Test Program
Modify/Verify
Students Test
Information
View Student Test
information/ generate
test information
16. Online TestOnline Test
(Use Case Diagram)(Use Case Diagram)
Student
Allowed to re-enter
answer if entered
incorrectly
View answer
entered and the
correct answer
Print Test
information
Request for Test
score modification
Can Access / Take
Online Test
Student Can Verify His/Her
Online Test Information
18. Online TestOnline Test
Sequence-Diagram – Define TestSequence-Diagram – Define Test
Teacher
Define
Test View
Start
System()
View
Submit(Choice1)
Controller
Define TestView Display()
Submit ( testnum, numquestions,
numtries, dueday duehour maxtries)
Test
Main view :: View
View :: Display()
CreateTest ::
test()
19. Online TestOnline Test
Sequence-Diagram – Generate Test Components from Test BankSequence-Diagram – Generate Test Components from Test Bank
Teacher
Model View
Controller
View
display()
Generate Test
Components
from Test Bank
If choice =2
MVS :: Choice
Generate Test :: set
name for question Bank
file
System
Generate Test : : set
name of question Class
file
Generate Test : : set
name of text
Procedures file
Generate Test : :
set name of
question Class file
Generate Test : : set
TestBankSize
display :: testnum, numquestions,
numtries, dueday duehour ma tries ,
TestBankSize SourceFileName
20. Online TestOnline Test
Sequence-Diagram – Generate Test Main Program Source CodeSequence-Diagram – Generate Test Main Program Source Code
Teacher
Model View
Controller
View
display()
Generate Test
Main Program
Source Code
If choice =3
MVS :: Choice
Generate Test Main::
GenTest($testnum
$duemonth $dueday
$duehour
$testbanksize $numque
stions $numtries
$maxtries)
System
display :: testnum, numquestions,
numtries, dueday duehour ma tries ,
TestBankSize SourceFileName
21. Online TestOnline Test
Sequence-Diagram – Build Version of Test ProgramSequence-Diagram – Build Version of Test Program
Teacher
Model View
Controller
View
display()
If choice = 4
MVS :: Choice
Build Version :: set test
style
System
display :: executeable files
Build Version
of Test
Program
22. Online TestOnline Test
Sequence-Diagram – QuitSequence-Diagram – Quit
Teacher
Model View
Controller
View
display()
If choice = 0
MVS :: Choice
System
display :: MakeTest.csh TERMINATING
Build Version
of Test
Program