Acceptance Testing: System Implementation Essay

Exclusively available on Available only on IvyPanda® Written by Human No AI

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.

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

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

1IdentifierTC-1
PriorityHigh
Related requirement(s)Uc-1
Short descriptionUser account creation
Precondition(s)Welcome page
Input dataUser name, password
Detailed stepsThe 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
2IdentifierTC-2
PriorityHigh
Related requirement(s)Uc-1
Short descriptionUser login
Precondition(s)None
Input dataUsername and password
Detailed stepsThe 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
3IdentifierTC-3
PriorityHigh
Related requirement(s)UC-2
Short descriptionThe user creates an API
Precondition(s)The developer must first be registered in the application
Input dataApplication details
Detailed stepsAn 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.
4IdentifierTC-4
PriorityHigh
Related requirement(s)UC-3
Short descriptionManaging API.
Precondition(s)Registered application is connected to the system
The registered user is authenticated into the system.
Input dataAPI KEYS
Detailed stepsUser 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
5IdentifierTC-5
PriorityHigh
Related requirement(s)UC-5
Short descriptionAn 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 dataProject name, description, API endpoints
Detailed stepsThe 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
6IdentifierTC-6
PriorityHigh
Related requirement(s)UC-6
Short descriptionLinking project to application
Precondition(s)The project is already created
An application is already registered
Input dataProject name, application name
Detailed stepsThe user links a project to a registered application
Expected result(s)Success or error message displayed accordingly
Postcondition(s)Project consumes APIs
More related papers Related Essay Examples
Cite This paper
You're welcome to use this sample in your assignment. Be sure to cite it correctly

Reference

IvyPanda. (2023, October 16). Acceptance Testing: System Implementation. https://ivypanda.com/essays/acceptance-testing-system-implementation/

Work Cited

"Acceptance Testing: System Implementation." IvyPanda, 16 Oct. 2023, ivypanda.com/essays/acceptance-testing-system-implementation/.

References

IvyPanda. (2023) 'Acceptance Testing: System Implementation'. 16 October.

References

IvyPanda. 2023. "Acceptance Testing: System Implementation." October 16, 2023. https://ivypanda.com/essays/acceptance-testing-system-implementation/.

1. IvyPanda. "Acceptance Testing: System Implementation." October 16, 2023. https://ivypanda.com/essays/acceptance-testing-system-implementation/.


Bibliography


IvyPanda. "Acceptance Testing: System Implementation." October 16, 2023. https://ivypanda.com/essays/acceptance-testing-system-implementation/.

If, for any reason, you believe that this content should not be published on our website, you can request its removal.
Updated:
This academic paper example has been carefully picked, checked and refined by our editorial team.
No AI was involved: only quilified experts contributed.
You are free to use it for the following purposes:
  • To find inspiration for your paper and overcome writer’s block
  • As a source of information (ensure proper referencing)
  • As a template for you assignment
1 / 1