Obľúbený nástroj test automatizérov – Cypress

The automation engineers' favourite tool - Cypress

You've probably experienced many situations, in which you've cursed the work tools, which are an inevitable part of your everyday work. Just like a butcher needs a sharp knife, a courier needs a mobile van and a bricklayer needs a good-quality mortar, the developer of automated tests also needs to have the right tool for his job – a tool which is a good fit for the tested object and everyday work..

Not that our “automation engineers'” previous tool wasn't doing its job, on the contrary, a few years ago it was an ideal solution. As it sometimes happens, the years have passed and the tool has lost its effectiveness. In the following article we would like to describe our beginnings, as well as the migration process of our previous “backend” test automation based on the Micro Focus UFT to very popular and by the community well-liked tool – to Cypress.

THE INNOVATIVE FRIDAYS GAVE A GO TO THE NEW TOOL

The format of the so-called innovative Fridays has become the Cypress' starting line. The first test concept designed in this tool was created on this workshop, which is organized on our project regularly once in a quarter of a year. The topics are collected in advance, while everybody can join either with their own idea or just join the already existing idea and a group, which then develops this idea and works on the first solution.

Some people involved in the project considered the Cypress an appropriate alternative already for a long time. The developers from one of the “scrum” teams had even begun to use it in isolation, but most of the test automation engineers were using the previous tool. Gradually, four more teams joined the first team, so the new tool was gaining even more space.

THE PROCESS AND THE REASONS OF CHOICE

The migration was specific and unique in that only teams working with the system application layer were involved. Our project is quite huge and most people within the project work with the functional and integrational testing of one or more microservices (Spring Boot). That's why it was necessary to choose a universal tool designed for the test automation. Even though the Cypress is presented mostly as a UI tool, it doesn't miss out on elements, which enable to cover the whole process from the database through the REST service, “messaging”, SOAP communication to the already mentioned web presentation layer.

Moreover, the Node JS, in which the Cypress operates, provides the modularity by NPM, which is a public package manager for JavaScript providing a wide palette of plugins. As application layer testers, we were offered an opportunity to “misuse” one of our developers' unit test tools, but we decided to keep the decentralized set-up of the project. In practice, it means that as developers of automated tests we were partly separated, despite our close contact with our teams (mostly the developers).

PREPARATION OF BASIC FUNCTIONALITIES

In the preparation of Cypress for its atypical role for web services testing, some questions have emerged, to which we needed to find the suitable answers.

HOW MANY SEPARATE PROJECTS DO WE USE?

In case it's a small and easy application, the solution is very easy, thus one Cypress project for everything. But our situation was different. Since each of the microservices represents a separate application with a bunch of functionalities, there could be a problem with the code sharing, if we created a separate Cypress project for every microservice. Moreover, the work would be slowed down, because every team manages multiple microservices, and the tester would have to switch projects constantly.

We thought about a different approach, and thus to create one big global repository with all the tests for 20+ microservices. However, the final solution was the middle path. We divided the applications to clusters, which got the dedicated Cypress project. In practice, it means that every team has one repository, because it handles a group of “backend” applications, which have the common technical denominator.

HOW TO SOLVE REPORTS, WHICH WE WANT TO SAVE AND ARCHIVE?

As the test management tool we were using ALM, which is compatible with UFT, but difficult to integrate with Cypress. We temporarily chose the path for the reports' creation with the help of the Mochawesome library, which generates an HTML report after the test execution. We save the HTML reports to Gite together with the tests in a separate folder, and we add the report to the particular user story by link.

IMPLEMENTING CI/CD IMMEDIATELY OR LATER?

Nowadays is the integration of automated tests to “the CI/ID pipeline” very popular, however we decided not to use it in our project. The main reason is the way of code testing by our developers. Besides the unit tests, they also create the so-called system tests, which are integrated in the “build pipeline”. These are very similar to our function tests, but in comparison with our test, they use less testing scenarios. That's why we decided not to apply another testing layer.

HOW TO APPROACH THE MYSQL DATABASES?

For an easy access, we used the NPM package “mysql”.

HOW TO MUTUALLY SHARE THE URLS, LOGIN AND ACCESS DATA?

We used the existing configuration server, which serves for the Spring Boot applications. We access it with the help of other NCM package ("cloud-config-server"), by which we always have all the required access data, which are in case of change updated by our developers.  

EDUCATION PROCESS AND MIGRATION

After solving the technical matters, we started to share the knowledge and to plan the migration. The process of education and sharing of the know-how went very well, even though we have been using the low code environment 90% of the time before. The developers of automated tests got accustomed to Cypress quite fast. The migration plan was a bit more difficult. Already from the beginning, we anticipated that such number of tests won't be that easy to migrate, as the Cypress is a completely different tool. And so the only thing left for us, was to start planning gradual manual migration of one test after the other. The numbers were surprising for everyone. There were lots of tests, that's why every team got the space to optimize its projects and to estimate the migration time. Based on all the teams' estimates, we decided to migrate gradually quarter of year by quarter of year and develop new tests in the meantime.

The migration itself went smoothly, and in the moment we use the UFT only to gain the required information from the previous test to create a new one in Cypress.

A GLIMPSE INTO THE FUTURE

After some time, we found out that not every decision of ours was correct. For example, by separating the repositories we caused that every developer of automatized tests is doing their own solution implementation in Cypress. However, the most important is, that the whole situation is significantly better than it was when we were using the previous tool for test automation. Cypress is much more effective and its biggest advantage is the time saving.

Autor: Jozef Kováč

XAMS tool configuration for SAP in the hands of FPT

XAMS tool configuration for SAP in the hands of FPT

Aké nástroje sú pre firmy najzaujímavejšie? Predsa tie, ktoré šetria nielen náklady, ale aj čas zákazníka a ich funkcionality prekonajú všetky očakávania. Jedným z takých je aj šikovný software XAMS od firmy Xiting, ktorý pomáha spoločnostiam pri ochrane a zabezpečení dát automatizovaním cenovo nákladných a časovo náročných úloh. Sme právom hrdí, že na konfigurácii tohto užitočného nástroja XAMS – Xiting Authorizations Management Suite pre nášho významného  zákazníka, sa podieľali aj naši kolegovia z tímu autorizácií SAP AuthorisationABS. 
Čo XAMS vlastne ponúka? 

XAMS comes with the easier SAP security, thus with a practical solution of authorization project, re-design and maintenance of authorization roles, various analyses and creation of SAP security concepts in various modules. The customer can configure various areas within the authorization, such as the role of designer, architect or profiler. 

The advantage of the XAMS TOOL is the express creation of users or the activation of the “firefighter“ users. What's interesting is that there's a possibility to create a user and authorization according to your specific needs.  

Najvyužívanejšie funkcie XAMS 

Through XAMS we can create 1 user, but another user will be created in background with the SAP ALL profile, for the tool being able to watch his job on the system and in this way create an authorization report. Based on these data, XAMS suggests and assigns a permanent role to the user, while taking SoD conflicts into consideration. The creation of roles is then a matter of a few clicks and no further analysis is needed as all the potential dangers and risks will be shown.  

Naši kolegovia sledujú pre zákazníkov aj týždenné reporty autorizácií, ktoré vyhodnotia napríklad SoD konflikty. Funkcia role „profilovač“ ukáže, ktoré profily je potrebné aktualizovať a jedným klikom ich aj aktualizuje. Pomocou XAMS nástroja vytvárame aj dátových používateľov, ktorí dostávajú konštantné oprávnenie na 3 mesiace a aktivujú si ho iba v prípade potreby prenosu dát. 

Samozrejmosťou tohto nástroja sú aj rozsiahlejšie funkcie, na základe ktorých dokážu spoločnosti jednoducho, no zároveň účinne zabezpečovať ochranu dát. Nespornou výhodou je, že spoločnosť Xiting pri zakúpení licencie poskytuje aj rôzne manuály a podporu pri implementácii softwaru k existujúcim SAP systémom.

V nasledujúcom grafe vidíme rôzne oblasti, ktoré si vie zákazník nakonfigurovať v rámci autorizácie.

zdroj: Xiting – Your Expert for SAP Security

SAP BTP ADMINISTRATION

SAP BTP ADMINISTRATION

In the next part of our BTP mini series, we will focus on the administration of this platform.

Since we are not talking about a simple stand-alone service at BTP, but a platform combining a whole range of separate as well as associated services, applications and connections, the administration of this platform is extensive and has several tools and methods for administration.

IT ALL STARTS WITH A NEW ACCOUNT

For us at FPT, administration does not only mean entering a "heated match", and thus taking over the management of existing accounts and services (we can handle this flexibly, of course), but we start with the customer from the very beginning - creating a primary account from the provider (SAP), defining necessary attributes and planning of the whole structure.

This so-called Onboarding of new customers includes:

  • setting a global account,
  • creating and adjusting sub-accounts,
  • securing of accounts,
  • user and member administration,
  • business-oriented needs - quotes.
EVERY ADMIN MUST HAVE HIS OWN TOOL

In BTP we use several of them, but the main tool of the BTP administrator is SAP BTP Cockpit.

We use this tool for our "daily operation". Because it uses a web interface and includes a sophisticated GUI, working with it is simple and really intuitive (saying this after three years of getting used to and a lot of major functionality updates 😊).

In Cockpit, we create accounts / sub-accounts / premises, add new users and then assign them permissions, set up verifications, create backend links (whether on-premise systems or databases stored in the cloud), assign services and install instances and applications, update and add certificates.

Another most used tool is CLI – Command Line Interface.

The command line interface can be used to create or update sub-accounts, manage authorization, and work with services. It is an alternative to the SAP BTP Cockpit for all users who like to work in a terminal or want to automate operations using scripts.

For interactive users, there is SSO login, automatic completion of commands, as well as several interactive commands with prompts.

Version for BTP global account:

Version for specific environment within BTP – Cloud Foundry CLI:

Lastly, I will mention the possibility of using the API by means of SAP API Management:

An application programming interface or API is an interface provided by an application to interact with other applications. API interfaces specify how software programs can exchange information with each other, even if designed and operated by different organizations..

EVERYTHING IS CONNECTED

As I mentioned at the beginning, other "sections" are linked to the BTP platform, such as:

  • Cloud Connector,
  • S/4 HANA cloud,
  • on-premise SAP HCM System,
  • SAP Analytics Cloud,
  • Succesfactors,
  • Integration Suite (SAP CPI – PI/PO).

Therefore, we communicate on a daily basis, cooperating with other departments managing components and services that are not directly part of the BTP (that is the administration within one console - cockpit). However, since everything falls under one platform, the sections are connected through different connectors and interfaces, which create coexistence.

Previous article: Introduction to SAP BTP.

Role of the Tester in AGILE team

Role of the Tester in AGILE team

The agile approach remains a significant trend in software development, where the role of the tester is gradually pushed out of agile teams. On the contrary, the role of the developer within the agile team is expected to extend it to the area of testing, and thus to take over the tasks of the tester.

There is an effort that the people working on the project are both developers and testers and have the so-called developerˈs skills and testerˈs mindset.

MINDSET DEVELOPER vs. TESTER

However, it remains a well-known fact that the mindset of the developer and the tester are different from each other, which can be observed in each phase of SDLC (Software Development Life Cycle). While the developer asks questions: ˈHow would I program it? How to make it work? ˈ, the tester asks: ˈWhat can go wrong? Where there may be vulnerabilities? ˈ and views the product from the user's perspective.

The reduction in the number of people in teams and the limited time devoted to testing often result in software testing being done only superficially. The developer lacks the space for more thorough testing.

With lower testing requirements, product quality decreases and the number of bugs and bug fixes during one sprint increases. Subsequently, project managers begin to realize the need for quality improvement and specialized testers are invited to the project. Thanks to their creative approach, practical product grasp and logical thinking, qualified testers will ensure independent quality control at the output, even during agile development.

While the developer carries out as priority Unit tests and tests small fragments, the tester focuses on functional testing and integration testing. He tests rather procedurally. He understands customer requirements, context and the product as a whole.

Deploying independent testing before putting the product into production minimizes risk, detects and filters errors, determines the suitability of software for production, and thus saves time and money.

Accepting differences in the thinking of developers and testers is essential for well-functioning teams. Different approaches help to find the best solutions and lead to the delivery of a reliable product that meets the customer's requirements. Only cooperation hand in hand between the tester and the developer, mutual understanding and objective feedback guarantee the best product quality.

IS THERE AN IDEAL SOLUTION?

The ideal solution, division of roles and number of people in the team are still being sought. It depends on the quality of the people working on the project and the time limits - to what extent the developers can ensure the delivery of the final product in sufficient quality. However, it can be said with certainty that manual testing and the role of the tester is important and cannot be ruled out even with AGILE approaches.

 

 

5 Reasons For Working at Fpt Slovakia for ServiceNow

5 Reasons For Working at Fpt Slovakia for ServiceNow

Are you attracted by the prospect of a great career? The ServiceNow technology platform may be the right choice for you. Included is set of tools for the needs of management and administration of company-wide processes and there is a shortage of qualified professionals

In general, ServiceNow can simplify all bureaucratic processes and make business much easier. It offers a complete service that brings added value to the customer, optimization and automation using ITIL processes. Reduces paperwork, automates and simplifies work. More about this topic here.

The ServiceNow platform has diversified into five core services, which include IT, security, HR service, customer service and applications. It is an integrated cloud solution that combines all these services into one integrated system.

If you're still hesitant, here are five reasons why you should consider moving your career to ServiceNow.

Lack of Experts

There is an acute shortage of qualified professionals who comprehensively master all aspects of the ServiceNow platform. Demand for them is growing rapidly and this will continue into the future as the platform grows rapidly.

High Salary

Due to the increase in demand for ServiceNow experts, salary conditions are increasing proportionally and are above average compared to similar positions.

Promising Career

ServiceNow is gaining momentum and is growing very fast due to its high acceptance rate. Its growing popularity and its preference for the Now platform over its counterparts makes it a stable career choice. Demand is accelerating along with popularity. With that comes the stability of using the platform and the requirements for professionals who can handle them. Career progress in this area is therefore guaranteed.

Certification Paths

ServiceNow usually has three certification paths - a certified administrator, a certified implementation specialist, and a certified application developer. However, you can also obtain certifications for specific products on each certification path, become a ServiceNow administrator, developer, technical consultant, architect, and so on.

Extended Skills and Knowledge

ServiceNow allows you to use your full potential effectively. For example, being a ServiceNow developer will make you an expert who is trained and skilled in various aspects of designing, developing, and implementing solutions based on ServiceNow technologies. Such people are often responsible for identifying requirements and developing technical solutions.

The added value is the fact that the company Fpt Slovakia also provides mentoring for juniors and new colleagues are welcomed by a multicultural and multilingual environment.

Are you considering a career in ServiceNow? Our open positon.

Author: Veronika Staruchová, Senior ServiceNow Business Consultant a Tibor Gujdán, Head of ServiceNow Solutions

Do You Long For A Great Career? Fpt Slovakia Fills Positions For The ServiceNow Platform

Do You Long For A Great Career? Fpt Slovakia Fills Positions For The ServiceNow Platform

ServiceNow is a technology platform that includes a set of tools for managing and administering processes within the whole company. It helps companies manage digital workflows for business operations.

In general, it can simplify all bureaucratic processes and thus greatly facilitate business. ServiceNow was founded in 2004 as a competitor to major players such as IBM and Hewlett Packard. The main advantage of this platform is the fact that it is a content system that seeks to include in its platform a wide range of what a business or enterprise may need.

“Many similar products offer only partial services, while ServiceNow is comprehensive. It tries to provide the user with services so that he does not need a million tools to solve the problem. And although it only moves around IT service management, it currently includes a wide range of predefined applications, such as agile development or project management, or the ability to create your own modules and applications, visualizations or portals," explains Veronika Staruchová, Senior Business Consultant.

Automation and Facilitation

The ServiceNow platform offers a complete service that brings added value to the customer, optimization and automation using ITIL processes. It reduces paperwork, automates and simplifies work.

Current Fpt Slovakia clients using ServiceNow include, for example, the large energy giant EON or the market leader in the USA in the field of multimedia and IT solutions. The company currently has a team of ServiceNow specialists and they will grow. 5 junior and senior positions will be filled in Košice in the near future.

Juniors and Seniors Wanted

The job offer is really attractive.

"There are a number of programmers on the market who go deep into one particular technology from the beginning, and after time reach their peak and burn out. In case of ServiceNow, the programmer will cover a number of technologies at once, he will constantly face challenges and maximum diversity," suggests Veronika.

It is also worth noting that the starting salaries for ServiceNow developers are really decent, Fpt Slovakia also provides junior mentoring and a career in the company is promising and fast.

You can find more about open positions in the field of ServiceNow here:

Junior ServiceNow Developer

Junior JavaScript Developer

en_USEnglish