design, code in Java and prepare unit tests for a simple login should be a standalone desktop application without any Web components.

SDEV 460 – Homework 1 Unit Testing for Authentication and Logging Overview: This homework will assess your ability to design, code and prepare unit tests for a simple login application. The application should be a standalone desktop application without any Web components. You can code the application in Java, C# or C++. Assignment: Total 100 points Using the readings from weeks 1 and 2 as a baseline, develop a graphical user interface that allows a user to login to a system. The login screen shou ld contain fields for entering a username and password and buttons to submit the information for authentication and a button to clear or reset the fields. You can hard -code the password authentication for now - as the purpose of this exercise is Unit testin g. The system should log all attempts into a Log.txt file. The log should include the username, the date, the time and if the login was successful or not. Create multiple Unit tests (use Junit if selecting Java, and Visual Studio Unit Test if using C++ or C#). You should design and implement a comprehensive set of Unit tests – a minimum of 4 that include testing of the login form with successful/unsuccessful logging attempts and the logging functionality to the Log.txt file . You should run your unit tests a nd clearly show the results for each test in your submission. Deliverables: You should submit your source files, example log files and a word (or PDF) document providing a detailed explanation of each of unit tests along with screen captures showing the results of your unit tests. Screen captures are clearly labeled indicating exactly what the screen capture represents. You should zip your source files to allow submission in one compressed source file as opposed to multiple. Submit your source code and d ocument no later than the due date. Your document should be well -organized, include page numbers and contain minimal spelling or grammatical errors. Grading Rubric: Attribute Meets Does Not Meet Graphical User Interface 30 points Develops a graphical user interface that allows a user to login to a system. (6 points) Login screen contains a field for entering a username. (6 points) 0 points Does not develop a graphical user interface that allows a user to login to a system. Login screen does not contain fields for entering a username. Login screen contains a field for entering a password. (6 points) Login screen contains a submit button for submitting information for authentication. (6 points) Login screen contains a reset button for clearing the fields. (6 points) Login screen does not contain fields fo r entering a password . Login screen does not contain submit button for submitting information for authentication. Login screen does not contain reset button for clearing t he fields. Log File 20 points Logs all login attempts into a Log.txt file (10 points) The log file includes the username, date, time and if the login was successful or not. (10 points) 0 points Does not log all login attempts into a Log.txt file. The log does not include the username date, time or if the login was successful or not. Unit Tests 30 points Creates 4 or more Unit tests (5 points) Uses Junit , Visual Studio Unit Test, or other test suite as appropriate. (5 points) Designs and implements a comprehensive set (4+) of Unit tests. (10 points) Executes all Unit tests. (10 points) 0 points Does not create 4 or more Unit tests. Does not use Junit, Visual Studio Unit Test, or other tool as appropriate. Does not design or implement a comprehens ive set (4+) of Unit tests. Does not execute all Unit tests. Documentation and Submission 20 points Zips and submits all source files and example log files. (2 points) Submits a Word (or PDF) -formatted document. (3 points) 0 points Does not zip or submit all source files and example log files. Does not submit a Word (or PDF) – formatted document. Screen captures are clearly sized and labeled indicating exactly what the screen capture represents. (5 points) Documents the results for all Unit tests in the Word (or PDF) document. (5 points) Document is well -organized, includes page numbers, and contains minimal spelling or gra mmatical errors. (5 points) Screen captures are not clearly sized and labeled indicating exactly what the screen capture rep resents. Does not document the results for all Unit tests in Word (or PDF) document. Document is not well -organized, includes page numbers, and contains multiple spelling or grammatical errors.