A cookie is a simple text file in the web page server which only can be read through a web server. A session is a server-side object which stores state and communicates between user and web server and is used in servlets to store and retrieve data. HTTP is a stateless protocol. HttpSession objects are used to store and save such details. Cookies are easy to generate and implement. In this system, cookies and sessions are implemented in the login form.
Normal functionality used in the system.
· Add user
· Modify user
· Delete user
· Add project
· Modify project
· Delete project
· Update ps
· Check ps
Complex functionality used in the system.
· Reporting- for ex: user report list, project report list, feedback list, newsletter list
· Send and view newsletter
· Profile picture
· Give and check feedback
Technology used are:
Server: Apache Tomcat is open-source java servlet container made by the Apache Foundation which implements several Java EE specifications and provide pure Java HTTP web server environment.
Database: MySQL is an open-source RDBMS and also a main component of the WAMP server. MySQL are used in large-scale and high profile websites.
· HTML is the markup language for creating web pages and applications.
· CSS is a stylesheet language used to describe the presentation written in a markup language.
· JSP is a technology that assists developers create dynamically generated web pages.
IDE: NetBeans is a widely used integrated development environment (IDE) used in programming.
Database plays an important role in the system to store records for longer use. In the manual system, since it wasn’t computerized data was lost most of the time and was unable to retrieve. The software used is WAMP Server.
Figure 72- phpMyAdmin
To start the application to store records, the sql files should be imported first. Once the files are imported the tables are shown within the database with their fields.
Figure 73-Import the sql files
MySQL is designed for web based applications because of its better performance, scalability and reliability. It has a lower TCO and has fast connection handling and utilizes the memory very well and easy to use.
Figure 74-This the main database which contains the tables created.
Task 5- Document the test plan and explain how you used test driven development in this scenario. This includes test rationale, test plan, test data and proper application of the test plan (lo ii) (10 Marks.)
Testing is important to make sure the system works correctly. System testing makes a logical assumption that whether all parts of the system are correct. Firstly the system was given to the user for entry.
A test plan contains a complete set of test cases for a system along with other information about the testing making it the standard forms of documentation. If a project does not have a test plan, Testing will be done in an ad-hoc manner leading to poor quality software. The test plan should be written long before the testing starts and can be developed once you have developed the requirements.
At every stage validation was provided. User is not allowed to enter unwanted data. All the outputs were checked out and were found to be correct. Finally the system is being accepted and made to run with live data. Testing runs to find any bugs, errors or missing requirements. There are several techniques of testing a software. It can be tested unit by unit or it can be tested by combining few units together.
· Integration Testing- The individual modules will be prepared to the integration. Modules will have to work with other modules correctly. The interconnection between each two modules will be tested here. Related fully functional modules will be integrated together and re-tested as a group of correctly functioning modules. Dissimilarities between individual working modules will be clarified and corrected and test until the modules are properly interact with each other.
· Unit Testing- Major independent modules would be identified. Each major module is separately developed with its own user interfaces. Then we have to test them for errors and functionalities to make sure the module is working properly. Unit testing is used for this system to test.
· System Testing- The properly integrated modules test. We will test the system with all possible test cases. After testing all possible test cases, the finalized system would be handed over to the actual users of the system.
· Black Box Testing- It is carried out by the tester. The Quality Assurance Engineer has to check the quality.
· White Box Testing- The programmer will carry out the white box testing, which will be checking the condition coverage, statement coverage, decision coverage and other multiple condition coverage methods.
· Component testing- A testing that practice data flow and is performed when the data is in large amount and software application is created for data handling.
· Top down testing is started by testing the user interface and then the other layers. The cost of writing the stubs is the major con for this testing.
· Bottom up testing is started by testing the lowest levels of the software. Testing is very time-consuming to write.
Testing performed by clients and users
· Alpha testing is performed by the user or client.
· Beta testing is performed by the user or client in a normal work environment.
· Acceptance testing is performed by users and customers.