postman-open-technologies/gsoc-2023

AsyncAPI: Introduce UI tests and refactoring in the website

AceTheCreator opened this issue · 17 comments

We need automation tests to run on the PR level which checks the overall build and codebase of the changes made in the PR. It should cover all the aspects of testing the website and the scripts running inside it. The idea of this project is not only to add UI tests, but also to refactor some parts in code to effectively create tests on it.

What are UI tests?
User Interface testing, also known as UI testing or GUI testing, tests the application’s visual elements to validate proper functionality and expected performance. It ensures that UI functions and application components have no defects, such as icons, radio buttons, text boxes, toolbars, color, fonts, checkboxes, windows, and menus. The primary aspects of UI testing are functionality, performance, usability, compliance, and visual design of the software application to make sure the application works successfully and satisfactorily.

Why do we need this?
We do need these tests because of following reasons:

  • we have no tests to test the components and the functions inside it.
  • more and more scripts are added to the repository
  • no tests, means nothing forces us to write clearer and testable small functions.
  • soon website maintenance/contribution will become hard as more and more addition of code will make Duplication and inconsistency inside the codebase.

Learn more here asyncapi/website#1090

Mentors:
@akshatnema
@imabp

Project Repo:
https://github.com/asyncapi/website

Expected Difficulty:
Easy-Medium

Expected Time Commitment:
175 Hour

Hey!

I am Simrann, a postgraduate student in CS and AI from IIITD. I have been using Postman since a long time and am very keen on contributing to it as a GSoC 2023 student. I am very intrigued by the idea of automated tests for PRs which would further provide a seamless experience for developers by providing real time feedback on their submitted code. Having worked at AWS previously, I understand how paramount these functionalities are for Software Development Lifecycle.

Would request the mentors @akshatnema @imabp to please guide me on the next steps and project planning.

Thanks in Advance

imabp commented

Hey @simrann20 welcome!
We would love to see you in the ongoing conversation here.

Hey @imabp @akshatnema

I'm Ayush. I've been a part of AsyncAPI community for a while. I'd really like to work on this project.

I'm thinking on using Cypress and JavaScript for writing scripts along with GitHub Actions for them to run with Pull Requests. I've read up on issues - #[1090] & #[1087], and I understand the need for ids with reference to the Google Tag Manager.

I'm also keen on using something like Browserstack for this project. I would really like to know what are your opinions on using Browserstack for this project.

I'll also include a structured argument for justifying my tooling in my proposal. (reference)

Hi @akshatnema and @imabp,

I am Ibrahim, a final year Computer Engineering student from ABU, Zaria, Nigeria. I have over 3 years of experience working with local startups as a software engineer, my main Tech stack is JavaScript/Typescript, React Native, Python and Java, and i have experience testing and documenting APIs with postman, which led to my excitement about this project, i also have experience writing UI tests with Detox and Jest. I am a beginner open source contributor and my goal has always been to contribute to an Exciting and popular projects such as Postman. I know with my skillsets and experience i will be able to make a valuable contribution to this wonderfull project.
Furthermore, i would greatly appreciate any guidance by the mentores on how i can be successfull in acheiving my goal.

Thank you.

Hello 👋🏽 @akshatnema and @imabp

I am Israel, A final student in Computer Engineering from Nigeria, I have 3+ years of hands-on experience with building and testing web apps using popular Javascript Libraries like Vue, React, Node, ChaiJS, Jest and many more. I am fascinated by the process and idea of automated tests for app modules and providing a seamless experience for developers using Postman. I would love to make a contribution to this wonderful project.

Furthermore, I would love to request guidance on the next steps and project planning.

Thanks in advance.

Hello @akshatnema and @imabp

I am Ankit, a 24 Y/O Software🌈, Web developer🎯 and SDET from India who loves to build, deploy & maintain things for the ☁️ and specializes in building (and occasionally designing) exceptional digital experiences.

I am writing to express my interest in participating in this GSoC project, as I believe it aligns perfectly with my skills and interests. I have a strong background in automation, and I am experienced in creating and executing automation tests using various testing frameworks using Selenium, Cypress, Playwright, Jest and many more. I also have a deep understanding of the importance of code quality, maintainability, and testability.

The proposed project aims to add UI tests to the codebase and refactor some parts of the code to effectively create tests. The goal is to ensure that the website functions properly and satisfactorily and prevent duplication and inconsistency in the codebase. The project will be challenging, but I am confident that I have the skills and experience required to complete it successfully.

During the project, I plan to work closely with the Postman team to understand the requirements and design the test cases accordingly. I will use various testing frameworks to create automated UI tests that cover all aspects of the website, including the scripts running inside it. I will also refactor the codebase to make it more testable and maintainable.

In addition to the technical work, I also plan to document the process and share my progress with the community through regular updates and blog posts. I believe that this will help other developers learn from my experience and contribute to the open-source community.

I am excited about the opportunity to participate in the Google Summer of Code program and work on the proposed project with Postman. I believe that this project will not only enhance my skills and experience but also contribute to the open-source community by making the website more reliable and maintainable.

Thank you for considering my application. Looking forward to hear from you soon.

Sincerely,
Ankit Raj

Furthermore, I would love to request guidance on the next steps and project planning.

Hey @AmanamIsrael, we will guide you to understand the project idea. You can ask your questions here or can dm us on Slack too.

Hey @simrann20 @ayushpaharia @ibrahimabba @AmanamIsrael @ank1traj, kindly register for the program and submit your proposals for the idea if you haven't done it till now.

You can get reviews of your proposal too before submitting it on the GSoC website. You can either DM your proposal to me or @imabp on Slack for the review or can post it on any channel os AsyncAPI Slack for the reviews.

Hi @akshatnema , can you please let me know where to register for GSoC and submit final proposal?

Hi @akshatnema , can you please let me know where to register for GSoC and submit final proposal?

@simrann20 you can register for GSoC on their website - https://summerofcode.withgoogle.com/ and then under organizations section, you can find Postman there. Then under this idea, you can submit your proposal.

Alright, thanks a lot!

Hi @akshatnema, Could you please provide the slack link to connect with you for proposal review?

Thanks

imabp commented

Hi @akshatnema, Could you please provide the slack link to connect with you for proposal review?

Thanks

@ank1traj kindly join the slack link mentioned in asyncapi website. You will find us there.

Hi @akshatnema, Could you please provide the slack link to connect with you for proposal review?
Thanks

@ank1traj kindly join the slack link mentioned in asyncapi website. You will find us there.

Shared the proposal with both of you @imabp @akshatnema. Could you please review the proposal whenever you'll get the time?

Hey folks, the Postman OSPO is live for a Google Summer of Code Q&A session. #gsoc
Link to zoom session: go.pstmn.io/gsoc-qa

Closed as completed as part of 2023 edition.