What kind of tests should be automated?

As software development becomes more complex and fast-paced, test automation has become a crucial part of the development process. Automated testing can help software teams save time, reduce costs, and improve the overall quality of the product. However, not all tests are suitable for automation, and deciding which tests to automate is a critical decision that can affect the success of the project. In this article, we will discuss what kind of tests should be automated and why.

Regression Testing

Regression testing is a type of testing that ensures that changes made to the software do not have any unintended effects on the existing functionality. Regression testing is an ideal candidate for automation because it involves running the same tests repeatedly, which can be time-consuming and error-prone if done manually. Automated regression tests can quickly identify any issues and ensure that new features and changes do not break existing functionality.

Smoke Testing

Smoke testing is a quick and straightforward test that verifies whether the critical functions of the software are working correctly after a new build or release. Smoke tests can be automated and run automatically after each build to identify any critical issues early in the development process.

Performance Testing

Performance testing is a type of testing that ensures that the software can handle a certain level of load and stress. Performance testing can be time-consuming, complex, and requires a significant amount of resources. Automating performance testing can help save time and resources and provide accurate and consistent results.

Security Testing

Security testing is a type of testing that ensures that the software is secure and protects user data from potential threats. Security testing involves identifying vulnerabilities and weaknesses in the software and verifying that security controls are working as intended. Automating security testing can help identify security issues quickly and ensure that security controls are functioning correctly.

Integration Testing

Integration testing is a type of testing that verifies whether different components of the software can work together as intended. Integration testing can be complex and time-consuming, and automating this type of testing can help save time and improve the overall quality of the software.

GUI Testing

GUI (Graphical User Interface) testing is a type of testing that ensures that the user interface of the software is working as intended. GUI testing can be time-consuming and error-prone if done manually, and automating GUI testing can help save time and ensure that the user interface is functioning correctly.

What kind of tests should not be automated?

While test automation can bring many benefits to software development teams, not all tests should be automated. There are certain types of tests that are better suited for manual testing or require a human touch to identify issues that automated tests may miss. Let's discuss what kind of tests should not be automated and why.

Exploratory Testing

Exploratory testing is a type of testing that involves exploring the software to identify issues and areas that require further testing. This type of testing requires human intuition and creativity and cannot be replicated by automated tests. Exploratory testing allows testers to find unexpected issues that may not have been considered during the design and development process.

Usability Testing

Usability testing involves testing the software's user interface and user experience to ensure that it is easy to use and meets user needs. Usability testing often requires subjective analysis and feedback from users, which cannot be replicated by automated tests. Human testers can identify issues such as confusing user interfaces or non-intuitive workflows that automated tests may miss.

Ad Hoc Testing

Ad hoc testing involves testing the software without a predefined test plan or script. This type of testing is often used to explore the software's functionality and identify issues that were not considered during the development process. Ad hoc testing requires human intuition and creativity and cannot be replicated by automated tests.

User Acceptance Testing (UAT)

User acceptance testing is a type of testing that involves testing the software with end-users to ensure that it meets their needs and requirements. UAT requires feedback from human users to identify issues such as usability, user experience, and compatibility with other software tools that automated tests may miss.

Exploratory Performance Testing

Exploratory performance testing involves testing the software's performance in real-world scenarios, such as high traffic or concurrent users. This type of testing requires human intuition and creativity to identify the right scenarios to test and cannot be replicated by automated tests.

Compatibility Testing

Compatibility testing involves testing the software's compatibility with different hardware, operating systems, and web browsers. This type of testing requires human testers to identify any issues with the software's compatibility with different configurations and cannot be fully automated.

Conclusion

Automated testing can provide significant benefits to software development teams by saving time, reducing costs, and improving the overall quality of the product. However, not all tests are suitable for automation, and it is essential to decide which tests to automate based on their complexity, frequency, and impact on the software. Tests such as regression testing, smoke testing, performance testing, security testing, integration testing, and GUI testing are ideal candidates for automation and can help software teams deliver high-quality software faster and more efficiently.

Swing Into April (2023 Wallpapers Edition)

New month, new wallpapers! To cater for a fresh dose of colorful inspiration every month, we embarked on our monthly wallpapers journey over 12 years ago. It’s the perfect occasion for creatives to put their design skills to the test, indulge in a little project just for fun, or tell a story that matters to them. Of course, it wasn’t any different this time around.

In this post, you’ll find beautiful, unique, and inspiring wallpapers for April 2023 created with love by artists and designers from across the globe. All of them are available in versions with and without a calendar and can be downloaded for free. At the end of the post, we also compiled a little best-of from past April editions for you. Maybe you’ll rediscover one of your almost-forgotten favorites in there, too? A big thank you to everyone who shared their designs with us! Happy April!

  • You can click on every image to see a larger preview,
  • We respect and carefully consider the ideas and motivation behind each and every artist’s work. This is why we give all artists the full freedom to explore their creativity and express emotions and experience through their works. This is also why the themes of the wallpapers weren’t anyhow influenced by us but rather designed from scratch by the artists themselves.
  • Submit a wallpaper!
    Did you know that you could get featured in our next wallpapers post, too? We are always looking for creative talent.
The Loneliest House In The World

“March 26 was Solitude Day. To celebrate it, here is the picture about the loneliest house in the world. It is a real house, I found it on Youtube.” — Designed by Vlad Gerasimov from Georgia.

April Showers

“April Showers bring hedgehogs under flowers!” — Designed by Danaé Drews from the United States.

Kitten Season

“Lover of cats and it is indeed the season!” — Designed by Shannon Corr from New York.

Puddle Splash

“I designed this playful and fun wallpaper inspired by nature that is present during the early spring.” — Designed by Marla Gambucci from the United States.

Le Printemps Est Rose

“Spring has arrived in Paris. We go to the Sacré-Cœur and enjoy the sunset or the sunrise. There it seems that time has stopped.” — Designed by Veronica Valenzuela Jimenez from Spain.

Fresh Kicks

“Spring time means the nicer weather is rolling in, so that means the nice shoes roll out as well.” — Designed by Alex Shields from the United States.

I “Love” My Dog

Designed by Ricardo Gimenes from Sweden.

To Be Or Not To Be?

“Capture the essence of Bard’s time with this William Shakespeare calendar for April. With intricate details and period-specific clothing and accessories, this calendar is a stunning work of art that transports you to the world of Elizabethan England.” — Designed by PopArt Studio from Serbia.

Free As A Bird

“In this beautiful weather, these kids are enjoying their moment freely, just like a bird in an endless sky.” — Designed by Kasturi Palmal from India.

First Day Of Spring

“April is my birthday month! Creating this wallpaper was a reminder of the new beginnings spring brings!” — Designed by Marykate Boyle from the United States.

Spring Doodles

Designed by Kristina Zenga from the United States.

An Eerie Village

“I designed the wallpaper to bring an eerie atmosphere, strange occurrences, and mysterious happenings. The houses and buildings may be dilapidated and abandoned, with overgrown vegetation and creaking doors. There might be strange symbols etched on the walls or the ground, and street light may be seen flickering in the darkness. The villagers along with the animals might appear suspicious and reclusive, adding to the overall feeling of unease. In an eerie village, it often feels like something is not quite right, and the sense of foreboding and danger can be palpable. Hope you like this wallpaper! :)” — Designed by Hrishikesh Shome from India.

Goose Picnic

“I love fashion and nature, so I wanted to combine those two ideas into the wallpaper. I wanted something bright and colorful.” — Designed by Jennifer Flynn from the United States, NJ.

Spring Moonlight

“The days are getting warmer, and so are the nights!” — Designed by Gabrielle Ziegler from the United States.

Granthagar

“The history of libraries began with the first efforts to organize collections of documents. Topics of interest include accessibility of the collection, acquisition of materials, arrangement and finding tools, the book trade, the influence of the physical properties of the different writing materials, language distribution, role in education, rates of literacy, budgets, staffing, libraries for targeted audiences, architectural merit, patterns of usage.” — Designed by Bhabna Basak from India.

Ice Scream

Designed by Ricardo Gimenes from Sweden.

Bright Intricacy

Designed by Nick Morrow from Pennsylvania.

Flower Shop

Designed by Allison McDermott from the United States.

The Slimeguy

“April brings with it a fun warmth, it reignites childlike wonder with the world around us. I wanted to capture that in the energy of this happy Slimeguy, as well as with my mostly yellow-toned colors. He leaps forth onto your screen with an abstract warmth and energy one can only find in the springtime.” — Designed by Jad Tindall from United States.

Spring Moon Moth

“Lunar moths, much like spring itself, represent new beginnings and fresh starts. In April, the nights are still crisp and cold, but you can finally start to see the stars.” — Designed by Anna Warkentin from the United States.

Long-Awaited Blooming April

“Long-awaited spring inspired our designers to create a set of wallpapers dedicated to its blooming and greenery. We have more April wallpapers in our selection.” — Designed by MasterBundles from Ukraine.

Oldies But Goodies

From wallpapers celebrating cherry blossom season to love messages to coffee, chocolate, and rainy days, below we compiled some April favorites from 12 years of wallpapers posts. Please note that these designs don’t come with a calendar.

Swing Into Spring

“Our April calendar needs not mark any special occasion — April itself is a reason to celebrate. It was a breeze creating this minimal, pastel-colored calendar design with a custom lettering font and plant pattern, for the ultimate spring feel.” — Designed by PopArt Studio from Serbia.

Dreaming

“The moment when you just walk and your imagination fills up your mind with thoughts.” — Designed by Gal Shir from Israel.

Coffee Morning

Designed by Ricardo Gimenes from Sweden.

Clover Field

Designed by Nathalie Ouederni from France.

Ready For April

“It is very common that it rains in April. This year, I am not sure… But whatever… we are just prepared!” — Designed by Verónica Valenzuela from Spain.

Happy Easter

Designed by Tazi Design from Australia.

Sakura

“Spring is finally here with its sweet Sakura’s flowers, which remind me of my trip to Japan.” Designed by Laurence Vagner from France.

Rainy Day

Designed by Xenia Latii from Berlin, Germany.

The Perpetual Circle

“Inspired by the Black Forest, which is beginning right behind our office windows, so we can watch the perpetual circle of nature, when we take a look outside.” — Designed by Nils Kunath from Germany.

Inspiring Blossom

“‘Sweet spring is your time is my time is our time for springtime is lovetime and viva sweet love’, wrote E. E. Cummings. And we have a question for you. Is there anything more refreshing, reviving, and recharging than nature in blossom? Let it inspire us all to rise up, hold our heads high, and show the world what we are made of.” — Designed by PopArt Studio from Serbia.

An Era Of Metals With Sense Of Touch

“In the future we can expect that machines will have emotions and they will start loving nature and flowers.” — Designed by Themesvillage from London.

A Time For Reflection

“‘We’re all equal before a wave.’ (Laird Hamilton)” — Designed by Shawna Armstrong from the United States.

Spring Fever

“I created that mouse character for a series of illustrations about a poem my mom often told me when I was a child. In that poem the mouse goes on an adventure. Here it is after the adventure, ready for new ones.” — Designed by Anja Sturm from Germany.

Yellow Submarine

“The Beatles — ‘Yellow Submarine’: This song is fun and at the same time there is a lot of interesting text that changes your thinking. Like everything that makes The Beatles.” — Designed by WebToffee from India.

In The River

“Spring is here! Crocodiles search the hot and stay in the river.” — Designed by Veronica Valenzuela from Spain.

Ipoh Hor Fun

“Missing my hometown’s delicious ‘Kai See Hor Fun’ (in Cantonese), that literally translates to ‘Shredded Chicken Flat Rice Noodles’. It is served in a clear chicken and prawn soup with chicken shreds, prawns, spring onions and noodles.” — Designed by Lew Su Ann from Brunei.

Sweet April Showers Do Bring May Flowers

“Discover the seasonal fruits and vegetables in April: artichoke and beans walking in the rain!” — Designed by Vitaminas Design from Spain.

Citrus Passion

Designed by Nathalie Ouederni from France.

Wildest Dreams

“We love the art direction, story and overall cinematography of the ‘Wildest Dreams’ music video by Taylor Swift. It inspired us to create this illustration. Hope it will look good on your desktops.” — Designed by Kasra Design from Malaysia.

Relax!

“…and enjoy your Easter holidays with some good chocolate.” — Designed by Ricardo Gimenes from Sweden.

Springtime Sage

“Spring and fresh herbs always feel like they compliment each other. Keeping it light and fresh with this wallpaper welcomes a new season!” — Designed by Susan Chiang from the United States.

Deploying Prometheus and Grafana as Applications using ArgoCD — Including Dashboards

If you're tired of managing your infrastructure manually, ArgoCD is the perfect tool to streamline your processes and ensure your services are always in sync with your source code. With ArgoCD, any changes made to your version control system will automatically be synced to your organization's dedicated environments, making centralization a breeze. Say goodbye to the headaches of manual infrastructure management and hello to a more efficient and scalable approach with ArgoCD!

This post will teach you how to easily install and manage infrastructure services like Prometheus and Grafana with ArgoCD. Our step-by-step guide makes it simple to automate your deployment processes and keep your infrastructure up to date.

What “The Rings of Power” Taught Me About a Career in Tech (Part 4)

At last comes their answer through cold and through frost,
That not all who wonder or wander are lost,
No matter the sorrow, no matter the cost,
That not all that wonder or wander are lost.

. – Poppy Proudfellow, “The Rings of Power”

We’ve arrived at the end of the series. If you have missed parts of the journey so far, you can find part one here; and here you’ll find part two; and then you’ll find part three waiting for you here. And now, let us see what final wisdom Amazon’s “The Rings of Power” has in store for us:

Building Multiple Barcode, QR Code and Datamatrix Scanner With Flutter for Inventory Management

Barcode scanning is an essential tool for modern inventory management. It improves accuracy, efficiency, real-time tracking, and cost savings, making it an important part of any effective inventory management system. In this article, we will demonstrate how to build a multiple barcode, QR code and DataMatrix scanner with Flutter for inventory management on Android and iOS.

Supported Platforms

  • Android
  • iOS

Flutter Dependencies Used for Multi-Code Scanning App

To extend the capabilities of the target Flutter project beyond what is provided by Flutter’s core libraries, third-party Flutter plugins are necessary. The following is a list of the plugins used in this project:

Getting Started With Web Components Using Stencil

Web components (or Custom Elements) are a set of standardized APIs that allow you to create reusable and encapsulated components for the web. Custom elements allow you to define your own HTML elements and their behavior using JavaScript. This means you can create your own custom elements like <my-element> and define their behavior using JavaScript.

It has been around for quite some time now, but it hasn’t gained notable traction in the frontend world as most are still quite unfamiliar with it, although it’s being widely used in top websites such as YouTube, GitHub, and many more.

Updating SwiftUI Views From Objective-C Using MVVM

On the internet, in the Apple documentation, and on Medium, there is a ton of information about SwiftUI, how to use it from UIKit, and vice versa. But today, let’s consider a not-so-common case in real life that’s useful to reflect on non-standard situations in iOS development.

Task: Show SwiftUI view from Objective-C codebase. Moreover, when an Objective-C model should be observable, the respective SwiftUI should be updated.

Compress File Using Mule 4 With AES 256 Encryption

In this article, I will discuss the process of zipping a file using Mule 4 with AES 2565 encryption.

Here is the background in some cases after generating the output file in the Unix server.
the file needs to move to a window's location for business, to which the developer team does not have access.

How To Install Oceanbase on an AWS EC2 Instance

In the world of big data, distributed databases play an important role. As data generated and processed by companies grow exponentially, there is a growing need for scalable and reliable database management solutions. An increasing number of companies are already shifting to distributed databases. OceanBase, a distributed database that offers capabilities in both transactions and analytics, as well as compatibility with MySQL, is rapidly gaining traction among data-driven teams.

Developed by Ant Group, OceanBase has been the driving force behind Alibaba’s Singles Day shopping event for nine consecutive years, managing billions of dollars in transactions annually.

Unlock Customer Behavior With Time Series Analysis

Time series analysis is a statistical technique used to analyze and interpret data that is collected over time. This technique is widely used in various fields, such as finance, economics, engineering, and environmental sciences, to identify patterns and trends in the data.

A time series is a sequence of data points that are recorded over a specific period, typically at regular intervals. Examples of time series data include stock prices, weather patterns, and customer sales records. The analysis of time series data involves understanding the underlying patterns in the data, predicting future trends, and identifying the factors that contribute to the observed patterns.

Useful NPM Tips and Tricks for Developers to Boost Productivity

NPM, short for Node Package Manager, is a widely-used tool for managing JavaScript packages in a project. It allows developers to install and update packages, as well as manage dependencies and scripts. NPM comes bundled with Node.js, so if you have Node installed on your machine, you automatically have access to NPM as well.

NPM Tips and Tricks

npm Commands You Should Know

This is not a tutorial for learning npm, the official docs are a good place to get started, but a collection of tips and tricks that will help you do more with the npm utility. Whether you’re a seasoned developer or just starting out, these tips can help you be more efficient and productive in your work with npm.

Instantly run packages without installing

The NPM registry is a treasure trove for finding packages that do useful stuff and they aren’t just for programmers.

For instance, the speed-test package shows the speed of your internet connection. The emoj package helps you search for emojis from the terminal. And the wifi-passwords package can help you find the password of your current WiFi network.

You can run these utility packages directly from the command line using the npx command.

npx speed-test
npx emoj unicorn
npx public-ip-cli
npx wifi-password-cli

Get package details

Use the npm view command to get details of any npm package, including the repository URL, the dependencies and the date when the package was last updated.

npm view eslint

Install npm packages faster

You’ve probably used npm install to install packages, and dependencies, in the local node_modules folder of a project. Replace this command with npm-ci and you’ll be able to install packages significantly faster.

npm ci

If a node_modules folder is already present, it will be automatically removed before npm ci begins to install packages.

Recover space

If you have been working with npm packages for some time, the various node_modules folders on the disks could be consuming several gigabytes of space. The very useful npkill finds all node_modules folders on your system and lets you delete them interactively.

npx npkill

Quickly download a Git repository

Most developers use the git clone command to download a Git repository. However, this also downloads the entire git history making the process slower. The degit package can download the latest commit to the master branch locally and you need not specify the full Github URL.

npx degit username/repo
npx degit labnol/apps-script-starter

List installed packages

Generate a list of all npm packages that are installed on the system with global scope. Remove the -g flag to list only packages installed in the current project directory.

npm ls --depth=0
npm ls -g

Find unused dependencies

The depcheck command will list all the npm packages that are not used in the project based on the dependencies in package.json.

npx depcheck

Use the command npm uninstall <package-name> to uninstall any unused package.

Find unused source files

The unimported package will find all the unused files and dependencies in your JavaScript / TypeScript projects.

npx unimported

Find outdated dependencies

Get a list of all outdated packages in your current project. This command checks every single module listed in the package.json file and compares it with the latest version available in the NPM registry.

Add the -g flag to get all outdated packages that are installed globally on the system.

npm outdated
npm outdated -g

Update the package versions

The npm outdated command will list all packages in your current project that are outdated and a newer version is available. Add the -g flag to list outdated packages that are installed in the global scope.

The ncu command will update the package.json file with the latest version of the packages listed in the dependencies and devDependencies sections.

Or use the npm-check -u command to update packages to their latest version in interactive mode.

npm outdated
npm outdated -g
npm-check
npm-check -u
ncu -u

Remove extra packages

Use the prune command to remove all packages that are installed locally but not listed in the package.json file. If the —dry-run flag is used then no changes will be made.

npm prune

Alternatively, you can remove the node_modules folder and run npm ci again.

Find vulnerable packages

Run the audit command to check for vulnerabilities in the packages listed in the dependencies and devDependencies sections. Add the fix flag to automatically apply the fixes, if any.

npm audit
npm audit fix

Useful NPM Package Websites

  • bundlephobia.com - Upload your package.json file and get an idea of how much it would cost (size-wise) to install the dependencies.
  • diff.intrinsic.com - Compare any two versions of a npm package and know which files have changed in the update.
  • npmtrends.com - Compare the relative popularity of packages across the npm registry based on the number of downloads.

Low-Code and No-Code Are the Future of Work — For IT and Beyond

In the aftermath of the pandemic, there have been immense changes in the ways employees interact with IT tools and teams. Not coincidentally, there's also been a rise in the use of low/no-code development tools.

Given the prevalence of hybrid work, the increasingly younger workforce, and a shortage of software-engineering talent, it's no wonder many are excited about the future of low/no-code development tools. Gartner analysts predict that 65% of all app development will be low-code-driven by 2024. Even more astounding, they believe that 80% of technology services will be created by non-technology professionals by 2024. 

How to Use Buildpacks to Build Java Containers

Do you still write lengthy Dockerfiles describing every step necessary to build a container image? Then, buildpacks come to your rescue! Developers simply feed them an application, buildpacks do their magic, and turn it into a fully functional container ready to be deployed on any cloud.

But how exactly does the magic happen? And what should you do if the resulting container performance doesn’t meet the business requirements? 

Driving Isn’t Like Riding; Building Isn’t Like Using

I’ve made no secret of the fact that, at 55 and after 35 years in I.T., I’m learning to code “for real." And some of this journey is far from comfortable. Some of it is downright frustrating and difficult in ways I didn’t expect and feel (albeit without justification) it shouldn’t be.

It took a drive in the car with my son to put it into perspective.