Computer Sciences

C# To Design And Implement Mathematical Skill Assessment Program

Task 3.1:

Control Structures:

Control structures are the most important and basic concepts of any programming language. They are important in implementing a solution to the given problem. In short, control structures are known as constructs. There are two types of control structures provided by the C#, i.e. Iteration constructs and Decision constructs. The following are some control structures that have been implemented in the code.

Iteration Constructs:

We can cyclically repeat the code using the iteration constructs.

  • For Loops:

In Loop, we can specify the number of times to repeat the code.

  • Foreach Loops:

The loop is used to iterate through the items of an array or collections.

  • While loops

It repeats the block of code until the given condition remains true.

  • Do While loops

This loop first executes the block of code and then checks the given condition. So, if the condition becomes false, the block of code will execute at least once.

Decision Constructs:

Following are some decision constructs we have implemented in the code.

  • If Statement:

The conditional statements are designed by using the If statement. The sequence of code changes with if statements. The Boolean condition is checked by the If statements.

  • Switch Statement:

In the switch statement, different blocks of code are selected based on the multiple values of the single variable.

  • Break Statement:

The break statement terminated the repetition of the code of either the switch statement or any loop.

  • Continue Statement:

The continue statement is utilised to provide control to the next iteration of the statement in which it resides.

Procedures or Methods:

It is a block of code containing multiple statements. These statements are executed by the program by calling the methods. The methods may have arguments. If the method has any arguments, then they are specified first, and then the method is executed. Following are some methods provided by C# that we have implemented in our code.

  1. Substring (int s, int length )
  2. WriteLine (string s)
  3. ReadLine ()
  4. StreamReader (String file_1)
  5. Main (String[] args)

Justifying C-sharp:

C-sharp is the latest rendition of C++. Before C-sharp, it was C++ language; it was used by many people to code solutions. C++ has added an object-oriented approach to C, and C++ has been widely used to develop and design “genuine” applications for Windows (as indicated by the C++ designers). The low-level applications and systems are developed using C++. The business-level application is developed by basic visual developers and experts.

C# provides a fast improvement in the world of visual basics within the community of C++ programmers, with some conspicuous changes. The .NET framework is very well utilised by the C-Sharp, which implies you approach a capable forms engine, much the same as VB developers have had for a considerable length of time. New data types have been included, such as the decimal information type for performing money-related estimations.

C# is type-safe, which implies a few things. For instance, you can’t utilise uninitialized variables. In C++, it is anything but difficult to declare a variable and afterwards check its esteem; whatever was in the memory delivered given to that variable would then appear, and this could wreak ruin on an application. The C# compiler will advise you if you endeavour to utilise a variable before you have initialised it to some substantial value.

While C++ is, to a great degree, a capable language, it has not regularly been viewed as simple. C# endeavours to disentangle the linguistic structure to be more steady and more sensible while additionally evacuating a portion of the more unpredictable features of C++. For instance, C# gets rid of pointers. As a type-safe dialect, C# doesn’t permit coordinate memory control, so pointers are never again required in C#.

Task 4:

4.1 Different types of testing

Testing is divided into two main types: “black box testing” and “white box testing”.

  • Black box Testing:

The “black box testing” focuses on the functionality of the modules. It does not test the internal mechanism. Instead, it tests the output in response to any input and other processes of the system. It is also known as “functional testing”. “Black box testing” is used for validation.

  • White box Testing:

The “white box testing” tests the internal mechanism of a system. It is also known as “glass box testing” and structural testing. Verification is done by “white box testing”.

Further, the above two testing types are divided into the following testing types.

  • Unit testing
  • Integration testing
  • Functional testing
  • System testing
  • Stress Testing
  • Performance testing
  • Usability Testing
  • Acceptance Testing
  • Regression Testing
  • Beta Testing

Unit Testing:

This type of testing is used to test individual units or groups of units. This is a type of white box testing, as the internal mechanism is being tested. This testing is done by the programmer to test a unit and analyse whether the output is according to the expectations against the specified input.

Integration Testing:

In this type of testing, different components are analysed to determine whether they produce the expected output when combined. Integration testing is also used for software and hardware if they are associated with each other. Integration testing is categorised as both “black box testing” and “white box testing”.

Functional Testing:

This type of testing confirms whether the components of the system are producing the required functionality or not. “Functional testing” is a type of “black box testing”.

System Testing:

System testing ensures that software works in different environments and conditions. For example, the software is tested by installing it in different operating systems; its functionality is analysed; hence, it falls under black box testing.

Stress Testing:

This type of testing analyses the behaviour of the software in conditions which are favourable. It is also a type of black box testing.

Performance Testing:

Performance testing ensures the effectiveness and speed of the software. It also tests whether the software generates the expected results within a specific time. It is a type of “black box testing”.

Usability Testing:

The usability testing is conducted according to the client’s perspective; it tests whether the graphical user interface is friendly or not and whether the software is easy to learn. It tests how easy it is to use its design. It is a type of “black box testing”.

Acceptance Testing:

This type of testing is conducted by the end user to ensure that the software meets the requirements and meets the customer’s expectations.

Regression Testing:

It is a type of testing that ensures that after modification, the software is working accurately and that the change does not cause unexpected results.

We will test our developed program using unit testing and functional testing. Acceptance testing. As C-sharp is an object-oriented language, it is very important to conduct unit testing to ensure that different modules or units are working according to the expectations. Functional testing will be conducted to analyse the overall functionality of the system. In the end, we prefer acceptance testing. This testing is conducted by the customer; he ensures that the software is working according to the requirements delivered to the developers. The customer can better tell how the product is functioning and whether it is fulfilling his needs or not.

Test Cases:

Functional testing is carried out to test the functionality of the program.

Test ID Test scenario Test steps Test data Expected Results Actual Results Pass/Fail
TC-1 Test the working of the login module. The testing module is done by entering the user username and password. Run the Program

The program will show the user Login and Sign-up options.

To log into the system, a user should press 1.

Choice=1

Username=user123

Password=pass123

The user should log in to the system, and the program should display the main menu. After successfully logging in, the program should display a welcome note. As expected Pass
TC-2 Test whether the program allows a user to enter the correct password three times if he fails to enter the correct credentials. Run the program

The program will show the user Login and Sign-up options.

To log in to the system, a user should press 1.

Choice =1

Username = user122

Password=pass123

Count = 1

The program asks a user to enter the credentials again by displaying the login screen. As expected Pass
TC-3 Test whether the program allows a user to enter the correct password three times if he fails to enter the correct credentials. Run the program

The program will show the user Login and Sign-up options.

To log in to the system, a user should press 1.

Choice =1

Username = user122

Password=pass123

Count = 2

The program asks a user to enter the credentials again by displaying the login screen. As expected Pass
TC-4 Test whether the program allows a user to enter the correct password three times if he fails to enter the correct credentials. Run the program

The program will show the user Login and Sign-up options.

To log into the system, a user should press 1.

Choice =1

Username = user122

Password=pass123

Count = 3

The program asks a user to enter the credentials again by displaying the login screen. As expected Pass
TC-5 Test whether the program allows a user to enter the correct password three times if he fails to enter the correct credentials. Run the program

The program will show the user Login and Sign-up options.

To log into the system, a user should press 1.

Choice =1

Username = user122

Password=pass123

Count = 4

The program displays the error message, notifying the user that he has been given three chances to enter the correct credentials. The program ends. As expected Pass
TC-6 Check the proper working sign-up module. Run the Program

The program will show the user Login and Sign-up options.

A user should register himself by pressing 2.

Choice = 2

Username = usr_3

Password = 12345

The program displays the confirmation message that the new user has been registered. As expected Pass
TC-7 Checking children’s registration module Run the Program

 

The program will show the user Login and Sign-up options.

To log into the system, a user should press 1.

The program will show the main menu.

Press 1 to initiate the children’s registration process

Choice = 1

Main Menu Choice=1

Full name=smith

Gender=male

Age= 17 years

Class = 8

The program should notify the user that the registration process has been completed successfully and Smith is the newly registered student. As expected Pass
T0-8 Check if registered children can initiate the test. Run the Program

 

The program will show the user Login and Sign-up options.

To log into the system, a user should press 1.

The main menu will be displayed.

Register children by pressing 1

Give numerical skill test by pressing 2

Choice =1

Main Menu

Choice =2

All the numerical skill test questions have been answered.

Children started their numerical tests after registering themselves with the system. As expected Pass
TC-9 Check if children will be able to take the test if they are not registered to the system. Run the Program

 

The program will show the user Login and Sign-up options.

To log into the system, a user should press 1.

The main menu will be displayed.

Press 2 to initiate the numerical skill test.

Choice =1

Main menu

choice =2

The program should display the message that children are not registered and can’t conduct numerical skill tests. As expected Pass
TC-10 Check if a user can take the problem-solving test if he has scored more than 50% on the numerical skill test. Run the Program

 

The program will show the user Login and Sign-up options.

To log into the system, a user should press 1.

The main menu will be displayed.

Press 1 to register children.

Press 2 to initiate the numerical skill test.

Numerical skill test completed.

Choice =1

Main menu

choice = 3

Numerical Skill test score = 55%

The program should display a message to notify him that he has been qualifying for the problem-solving test. As expected pass
TC-11 Check if a user cannot take the problem-solving test if he has scored less than 50% on the numerical skill test. Run the Program

 

The program will show the user Login and Sign-up options.

To log into the system, a user should press 1.

The main menu will be displayed.

Press 1 to register children.

Press 2 to initiate the numerical skill test.

Numerical skill test completed.

Choice =1

Main menu

choice = 3

Numerical Skill test score = 45%

The program should display a message to notify him that he has not been qualifying for the problem-solving test. As expected pass
TC-12 Check if a user can view his results after giving numerical skill tests and problem-solving tests. Run the Program

 

The program will show the user Login and Sign-up options.

To log in to the system, a user should press 1.

The main menu will be displayed.

Press 1 to register children.

Press 2 to initiate the numerical skill test.

Numerical skill test completed.

Press 3 to start giving a problem-solving test.

Problem-solving test completed.

Press 4 to view the results.

Choice =1

Main menu

choice =4

Numerical skill test percentage=65%

Problem-solving test percentage =55%

The program should display the result in a particular format. The program should also store the result in a file. As expected Pass

4.3

After conducting functionality testing, it is analysed that the program is working according to the requirements and expectations. The control structures of the program are properly working. They execute relevant blocks of code after a user specifies the option. There are no unhandled exceptions in the program that affect its functionality. The program is displaying correct confirmation messages. The flow of the program is accurate. However, the program still needs some improvements listed below:

  1. In this software version, the questions are stored in an array, and they are static. The program should be more dynamic. The questions and their answers should be properly stored in the database. A proper database connectivity code should be implemented and tested.
  2. The program should use a dynamic data structure to store the questions and their answers. This will improve the program’s performance.
  3. There should be a proper admin section. Admin can manage the members. He can add, delete and modify the questions.
  4. The program should evaluate the performance of different students by generating proper reports or performance charts. The program should display the student name on the home page who has scored highest up till now. This will motivate users to perform better.
  5. The program’s graphical user interface should be enhanced as GUI enhances user experience and usability.
  6. Exception and error handling should be improved.
  7. The program should interact with the user by properly displaying messages.
  8. To enhance usability and readability, the program should display one question at a time.
  9. A stopwatch must be implemented for every question.

4.4 On-screen guidance

1. Enter the admin username and password.

2. if the username and password are correct, then the main menu will be displayed

3. Press 2 to start the numerical test.

r

4. Finish the test. The Result will be displayed.

5. If you score exceptionally, then press 3 to start the problem-solving test; otherwise, it will show you an error.

6. Of the problem-solving test will be displayed.

7. Results stored in a file

8. Press 5 to view the guidance program

9. Press 6 to end the Mathematics Skill Assessment test.

4.5 Technical Documentation:

Abstract:

The main goal of our project is to assess the mathematical skills of the students online. The students can take tests and evaluate themselves using the results generated. The students can take numerical skill tests and problem-solving tests.

Our work mostly focuses on developing a user-friendly, attractive system using C# where students can register themselves and test themselves.

Introduction:

Purpose:

The purpose of this project is to evaluate the mathematical skills of the student through an online platform. The student can take a numerical skill test and then a problem-solving test. The overall test result will be generated within a few seconds, and the user will be able to view the result as well as he can get the result file.

Scope:

The mathematical skill assessment program is a platform in which students of a particular institution can take numerical skill tests and problem-solving tests. This platform enhances the students’ mathematical skills. The students first register themselves to give tests.

Program Requirements Specifications:

Functional Requirements:

  1. The system should have a login module. It should have a username and password field.
  2. If a user has entered the wrong credentials, then the system should give the user three chances to enter the correct login and password. If he fails, the system automatically shuts down.
  3. If a user enters the correct credentials, then the main menu should be displayed.
  4. The main menu should have five items on it.
    • Children Registration
    • Numerical skill test
    • Problem-solving skill test
    • View test result
    • Help
    • Exit
  5. The children’s registration module should ask for details such as their full name, age, gender, and class.
  6. Children can go for a numerical test after registration.
  7. The information on students and their test results should be stored in a file.
  8. The system should display supporting information about the system.
  9. The user can exit the system by selecting the exit option.

Non-functional Requirements:

1. The program should authenticate the user within 2 seconds after he enters his credentials.

2. After the user is verified, the program should move towards the main screen within 2 seconds.

3. After completing the problem-solving test, the result should be calculated immediately within 2 seconds.

4. The program should not be platform-specific. It should run on any operating system.

Design Details:

The following components are included in the design detail:

1. Behaviour

2. Static structure

3. User interface

The class diagram depicts the Static structure of the system. The flow of the system and its various activities exhibits its behaviour. The user interface of the system is one of the important components of software design. A user usually explores systems which are attractive and eye-catching.

Technologies:

We have used C# to design and implement the program, i.e., the Mathematical skill assessment program.

Use Case:

System architecture

References

Elements of a Java Program. (n.d.). Retrieved October 23, 2017, from http://www.codemiles.com/java/elements-of-a-java-program-t3449.html?mobile=off

Flowchart. (n.d.). Retrieved October 23, 2017, from https://www.smartdraw.com/flowchart/

How to Write Test Cases: Sample Template with Examples. (n.d.). Retrieved October 23, 2017, from https://www.guru99.com/test-case.html

Why you should move to C#. (2002). Retrieved October 23, 2017, from https://www.techrepublic.com/article/why-you-should-move-to-c/

Zafar, R. (2012). What is software testing? What are the different types of testing? Retrieved October 23, 2017, from https://www.codeproject.com/Tips/351122/What-is-software-testing-What-are-the-different-ty

Cite This Work

To export a reference to this article please select a referencing stye below:

SEARCH

WHY US?

Calculate Your Order




Standard price

$310

SAVE ON YOUR FIRST ORDER!

$263.5

YOU MAY ALSO LIKE

Pop-up Message