Acceptance Testing: System Implementation

Do you need this or any other assignment done for you from scratch?
We have qualified writers to help you.
We assure you a quality paper that is 100% free from plagiarism and AI.
You can choose either format of your choice ( Apa, Mla, Havard, Chicago, or any other)

NB: We do not resell your papers. Upon ordering, we do an original paper exclusively for you.

NB: All your data is kept safe from the public.

Click Here To Order Now!

Detailed Application Implementation

System implementation is the process of converting system design into actual code. The implementation is carried out in a development environment. Depending on the nature and scope of a project, it can be implemented in an integrated development environment or just a text editor. The proposed system was implemented on the VS Code text editor. The editor supports different languages including JavaScript and type script. The system was developed using the MERN stack, which is MongoDB, Express, React, and Node. The Mongo DB was used for database data storage, react was used for frontend development, and Nodejs was used for server development. The express.js was used to develop features for a web application that ran on the Nodejs server. The front end and the back end were implemented independently, as shown in the project structure below.

project structure showing front and backend in the directory section
Figure 1: project structure showing front and backend in the directory section

Algorithms

The system algorithms are presented in the pseudocode below.

Step Activity
Step 1 Already have an account, proceed to step 5, otherwise proceed to step 2.
Step 2 Create a user Account.
Step 3 Validate credentials.
Step 4 Valid credentials? Proceed to step 5, otherwise proceed to step 3.
Step 5 Login into created account.
Step 6 Correct credentials? Proceed to step 7, otherwise proceed to step 5.
Step 7 Create project.
Step 8 Project created? Proceed to step 9, otherwise proceed to step 7.
Step 9 Register application.
Step 10 Application registered? Proceed to step 11, otherwise proceed to step 9.
Step 11 Link project to application.
Step 12 Link created? Proceed to step 13, otherwise proceed to step 11.
Step 13 Create API.
14 API created? Proceed to step 15, otherwise proceed to step 13.
15 Manage API (update, delete, view).
16 Stop.

Database Design

The system database is comprised of six tables, namely: users, projects applications, APIS, user_projects, and app_projects. The databases are characterized by one-to-many relationships which are essential for normalization. Each table contains a primary key (in the case of independent tables). Tables that are purely generated for relationships and normalization (app_projects and user_projects) are solely made up of foreign key attributes. The database diagram was designed and generated using the Workbench community version, which is a graphical tool for designing relational databases. The complete database diagram is presented in the figure below.

 Database design
Figure 2: Database design

Detailed Project Structure

The structure of the software implementation is presented in the figures below.

Frontend

The frontend part of the system is comprised of several components: the navbar, footer, forms, the submit button, and inputs. The components are exported and used in several interfaces.

An expanded view of the frontend
Figure 3. An expanded view of the frontend
 An expanded view of the public director in the front end
Figure 4. An expanded view of the public director in the front end

The public folder contains the index.html page as well as images used in the site.

An expanded view of the src folder
Figure 5. An expanded view of the src folder

The src folder contains the main source code for the frontend. It contains the API, components, configurations, App JS and CSS files as well as the application logo.

A detailed view of the auth.js script
Figure 6: A detailed view of the auth.js script

The auth.js script is responsible for the authentication process and is contained in the API module.

Backend

The backend is comprised of a configuration module, middleware, models, and routes. The routes led to user account management, project authorization, project management, and linking user to projects.

An expanded view of the backend
Figure 7. An expanded view of the backend
 The autheitcation.js script in the middleware module. It controls the authorization of applications and users
Figure 8. The autheitcation.js script in the middleware module. It controls the authorization of applications and users
Project script in the models module. It defines the structure of a created project
Figure 9. Project script in the models module. It defines the structure of a created project

Software Components

The system is comprised of two main components: the front end and the back end. The front end is a collection of interfaces that consume the backend APIS. The backend comprised the server, database connection, and database records.

Testing and Evaluation

In software development, testing refers to the method of assessing a software system to determine if it currently satisfies the necessary requirements or not. In the assessment process, the characteristics of the new software are examined for compliance with specifications in regard to any unmet needs, flaws or mistakes, security, dependability, and efficiency. The project was subjected to two types of testing: functional and nonfunctional tests.

Functional Testing

A program is tested for its functionality, ability, and degree of executing its intended purposes with regard to the user requirements. As the name suggests, functional testing evaluates whether a system carries out its expected purposes in the manner justified in the project charter. In this case, the system was subjected to unit testing, integration testing, and user acceptance testing (UAT). In unit testing, different project parts were tested to assess whether they carried out their intended purposes. Such tests were carried out at the method, object, and class levels. Since the project uses different frameworks and libraries, it was assumed that they were bug-free for them to be incorporated into the project. Any instances detected were fixed before proceeding to the next development phases. This ensured the project performance and functionality were as per the requirements gathered from the target users and stakeholders. The second level of functional testing was integration testing. This kind of evaluation assesses the performance of different system modules as they interact with each other. For instance, the consumption of API endpoints, database connection, tabulation, security verification, validation, and authentication. The communication and interaction between different system modules registered errors, misconfigurations, and faults that were corrected accordingly. The tests were carried out manually, lopping through all major modules and interfaces until the developers were confident with the results. User acceptability tests are carried out in the final stages of development. The tests encompassed 20 users who evaluated the system interface, ease of use, validity of results, response speed, and general user experience. The users returned positive feedback, implying that the system met the target client’s needs.

Nonfunctional Testing

Nonfunctional tests evaluate the behavior and characteristics of a software system. The tests are primarily built on nonfunctional requirements and do not necessarily affect what the system should do, but how it should achieve its target goals. In this context, the system was passed through performance, endurance, and usability tests. Performance tests were carried out to evaluate the speed, responsiveness, and scalability of the system under predetermined working conditions. The conditions were based on disk space, memory, and internet speed. The optimal performance was obtained at 100MB free disk speed, 1GB memory space, and 10kbps internet speed. The tests did not consider any other running applications on the test computer. The system was designed to accommodate up to 2000 active users, which is a manageable load for standard systems.

Justification of Testing Scenarios

1 Identifier TC-1
Priority High
Related requirement(s) Uc-1
Short description User account creation
Precondition(s) Welcome page
Input data User name, password
Detailed steps The user fills in the required fields and clicks sign up.
Expected result(s) Registration page loads. A successful registration redirects to the login page, otherwise, an error message is displayed.
Post-condition(s) The user is granted access to the system
2 Identifier TC-2
Priority High
Related requirement(s) Uc-1
Short description User login
Precondition(s) None
Input data Username and password
Detailed steps The user fills login form and clicks the login button
Expected result(s) Successful log-in redirects to the dashboard, otherwise an error message is displayed.
Postcondition(s) The user is granted access to the system
3 Identifier TC-3
Priority High
Related requirement(s) UC-2
Short description The user creates an API
Precondition(s) The developer must first be registered in the application
Input data Application details
Detailed steps An application connects to the system using user credentials
Expected result(s) A user-registered application is validated and connects to the system
Post condition(s) An application must be associated with a registered user.
4 Identifier TC-4
Priority High
Related requirement(s) UC-3
Short description Managing API.
Precondition(s) Registered application is connected to the system
The registered user is authenticated into the system.
Input data API KEYS
Detailed steps User valid logged in user registered applications in the system
Expected result(s) The API dashboard is displayed for CRUD operations
Post condition(s) The developer must first be registered in the application
5 Identifier TC-5
Priority High
Related requirement(s) UC-5
Short description An admin creates a project that consumes the API keys
Precondition(s) The developer must first be registered in the application.
The developer must first create an API key.
Input data Project name, description, API endpoints
Detailed steps The user creates a project that consumes the APU using an API key
Expected result(s) Successful creation redirects to the projects page, otherwise an error message is displayed
Postcondition(s) The project is linked to an application
6 Identifier TC-6
Priority High
Related requirement(s) UC-6
Short description Linking project to application
Precondition(s) The project is already created
An application is already registered
Input data Project name, application name
Detailed steps The user links a project to a registered application
Expected result(s) Success or error message displayed accordingly
Postcondition(s) Project consumes APIs
Do you need this or any other assignment done for you from scratch?
We have qualified writers to help you.
We assure you a quality paper that is 100% free from plagiarism and AI.
You can choose either format of your choice ( Apa, Mla, Havard, Chicago, or any other)

NB: We do not resell your papers. Upon ordering, we do an original paper exclusively for you.

NB: All your data is kept safe from the public.

Click Here To Order Now!