Next-Generation Mainframers Community

 View Only

Developing an Automated System Test Suite for NetMaster's Web Portal

By Sai Anuhya Kondubhatla posted Aug 02, 2023 11:28 AM

  

During the summer, I had an amazing opportunity to intern at Broadcom, Pittsburgh office. Before I dive into my internship experience, let me briefly introduce myself. I am currently pursuing a master's degree in Computer Science at the University of Texas, Dallas. My passion lies in developing software that enhances people's lives and contributes to improving the Internet for everyone.

My internship kicked off with an onboarding process, after which I joined the Harbour Masters team. I had discussions with my mentor regarding the tasks we aimed to accomplish during the internship and the prioritization of objectives. Our primary focus was addressing the testing of the NetMaster Web Portal as a whole, ensuring that customers didn't encounter any issues while interacting with its components. 

This led us to introduce System Testing as a means to achieve this goal. 

How are Mainframes Related?

Mainframes have a vital function in network operations, specifically in the network infrastructure. NetMaster is a network monitoring solution for mainframe environments. It provides real-time and historical information about your mainframe-connected networks, alerts you when certain events happen, and allows you to easily define and start packet traces to debug network issues. These capabilities are available today via green screen interfaces. As Broadcom strives to modernize the mainframe,  NetMaster provides a more user-friendly and differentiated interface via its Web Portal.

Why is System Testing Important?

System testing plays a vital role for the following reasons:

Detecting Errors Early: System testing helps identify defects as part of the application. Testers may identify problems that arise when actual customers use the software by testing the application in a setting that closely approaches the production environment. Early identification and correction of issues can help to avoid difficulties for end users and also save time and costs.

Ensuring Integration: System testing verifies that all components of the application work together. It ensures that different modules and interfaces integrate properly and function as a whole system. Integration issues, such as data inconsistencies, can be identified and resolved during this testing phase.

To summarize, system testing is crucial for applications as it helps identify defects, ensures proper integration and validation of requirements, and ensures stability and reliability, and enhances the user experience. By conducting thorough system testing, organizations can deliver high-quality applications that meet user expectations and perform optimally in real-world environments. For these reasons, we implemented automated system testing for our web portal.

Tools Leveraged for System testing:

Playwright:

Playwright is an open-source browser automation tool developed by Microsoft. It allows developers and testers to automate interactions with web browsers, including Chrome, Firefox, Safari, and Edge, using a single API. Playwright provides a powerful set of features and capabilities for web testing, scraping, and browser automation.

Playwright can be added as an extension to Visual Studio. The scripting language that we used is Typescript.

I have written system tests for the Login Page, Connections Home Page, About Dialog, and Add New Panel Dialog of our NetMaster Web Portal under the supervision of the team.

                                                             Sample System Test - Code Snippet from our Connections Home Page Test Suite

Jenkins(CI/CD)

Jenkins is a popular automation tool that is valuable for managing the system testing workflow. We are able to leverage Jenkins to ensure that the system tests are executed consistently and as part of an approved process, reducing the time and effort required for manual test execution.We created a pipeline with different stages to checkout the code, install dependencies, execute the tests and finally archive the test results. By automating system tests, we will be able to construct a solid regression test suite over time, giving us confidence that newly introduced changes do not adversely impact other areas of the web portal.

 

                                                                                           Jenkins Pipeline Driving System Tests

Overall, I had a great time working on the tasks mentioned above. I have always wanted to connect the subjects I studied at university with real-world situations, and when I finally started working, I felt a surge of excitement. The entire team has been incredibly supportive and helpful, particularly my buddy, Phil Schoen, who guided me throughout the program, provided unwavering support and invaluable assistance. Additionally, my manager was always available to address any queries. In addition, we had a few team lunches and evening Happy Hours, which demonstrated the friendly and cohesive nature of our team. I am truly impressed by the dedication and cooperation of everyone involved. Working with this team has undoubtedly been one of the most rewarding experiences for me.

0 comments
18 views

Permalink