News Aggregator


Advanced Process Integration Tips - Dealing with Unexpected Errors

Aggregated on: 2020-06-26 11:00:04

Using advanced process integration techniques becomes essential as you evolve your developer skills while integrating more and more of your business workflows. One of the most common questions is how to effectively handle unexpected errors without just dropping out of a workflow? During the development phase, it is expected that developers deal with unexpected behavior along with predictable and unpredicted errors that might happen during the execution of code. Consider the following situation:

View more...

Snowflake External Functions

Aggregated on: 2020-06-25 22:30:03

Introduction Snowflake has recently announced external functions available in public preview. This allows developers to invoke external APIs from within their Snowflake SQL queries and blend the response into their query result, in the same way as if they were internal Snowflake functions. In this article, we will demonstrate how to invoke an API via Amazon Web Services API Gateway that will trigger an AWS Lambda function. The Lambda function (written in Python) then  invokes a public API from to return the exchange rate for USD and multiple foreign currencies that can be used to calculate our sales values in USD and a number of selected currencies in SQL query running in our Snowflake warehouse. This solution eliminates the need for loading exchange rates into Snowflake regularly and also guarantees accurate, reliable real-time currency values.

View more...

9 Best Free Brainstorming Tools For Entrepreneurs

Aggregated on: 2020-06-25 22:30:03

Brainstorming is essential to almost every other individual these days. Especially, when it comes to harnessing productivity in entrepreneurs these days, the importance of brainstorming can never be over-emphasized. Therefore, having great brainstorming tools at your disposal is vital.

View more...

12 Strategies to Maintain a Secure Testing Environment While Working Remotely

Aggregated on: 2020-06-25 21:20:03

The recent pandemic has led to a major lockdown across the globe. The IT industry is no exception - engineers are now working from home more than ever. Remote working has enabled convenience, however, when you're working outside the secured office environment, there's an increased risk of internet fraud, data loss, system compromise, and more. As it becomes difficult for some enterprises to monitor and maintain network security, QASource continues to ensure that nothing is compromised.

View more...

Microservices Implementation: Software Stacks and Concepts

Aggregated on: 2020-06-25 21:20:03

In the last article, I had tried to explain how a Spring Boot application can be developed and deployed using Spring Cloud offering and how various cross-cutting concerns (service discovery, circuit breaker, distributed tracing, routing, connector, configurations) can be handled.   In this article, I will try to put various software stacks available in the market which can be implemented to resolve these concerns and very briefly describe what benefit one can get while choosing a specific tool. 

View more...

21 System Design and Object-Oriented Problems for Interviews

Aggregated on: 2020-06-25 21:20:03

Hello guys, If you have given any coding interview then you know that System design or Software design problems are an important part of programming job interviews, and if you want to do well, you must prepare this topic. In the past, when I shared my list of programming interview questions, I have shared a couple of System design questions but my readers kept asking me for more questions, as it is a hard topic to master, and more and more practice is needed.  I had my own list of questions that I have collected from various interviews with friends and colleagues but I needed more questions for this article when I stumbled upon the Grokking System Design Interview course on Educative.

View more...

Top 3 Tips for Ensuring Security During Java Development

Aggregated on: 2020-06-25 21:20:02

Even though Java has been around since the 1990s, it continues to be a popular programming language in the development ecosystem. It is because Java has long demonstrated its value as an A-grade resource that allows developers to effectively deal with the many challenges associated with other prevalent languages and enable the development of high-quality solutions.  Java continues to be celebrated as a terrific programming language that delivers ace levels of security. However, that also does not mean that programmers can take protection for granted. To put it simply, ensuring the safety of your Java app should be one of the top priorities for any company, for, without it, the business is likely to suffer the wrath of consumers' distrust! So, to help you avoid that situation and continue to deliver Java apps with top-notch quality and safety, we have listed some of the best practices that one would do well to adopt and integrate into their Java web application development project.

View more...

Quarkus Quickstart - Deployment of The Hello-World App by Gradle Tasks

Aggregated on: 2020-06-25 20:10:03

To facilitate deployment across platforms, you can use Gradle tasks and plugins. Gradle supports different plugins to deploy to Kubernetes, OpenShift, GCP, and deploy as AWS Lambda.  Let's focus on Quarkus framework, we are going to consider a simple "hello-world" application on Kotlin language with multiple platform deployment (OpenShift/Kubernetes/Amazon/Google Cloud Platform) by using Gradle tasks.

View more...

Axway AMPLIFY IoT Device Incident Management - Demo Breakdown

Aggregated on: 2020-06-25 20:10:03

Imagine if your insulin pump could notify you when the battery level drops so you can proactively service the pump and avoid personal injury. Imagine if the insulin pump can also notify you and the pump manufacturer on a fatal error and not only let you know about it but also file an incident with the manufacturer. This provides a major improvement to the manual process of discovering a problem and contacting the manufacturer. That's exactly what the Griffin Labs built with the Axway AMPLIFY IoT Device Incident Management Demo. Of course, the devices don't need to be medical devices, they can be a smart refrigerator (as shown in the animation above) or a bank ATM. The key is that the devices are connected to the internet and AMPLIFY can help you create an application like this easily. This demo only took a few days to create.

View more...

Jakarta EE 9 Milestone Release

Aggregated on: 2020-06-25 20:10:03

As a leading contributor to Jakarta EE, we're happy to announce the Eclipse Foundation Jakarta EE 9 Milestone Release and the results of their 2020 Jakarta EE Developer Survey. The Jakarta EE 9 Milestone Release demonstrates the significant progress made toward the final release later this year and offers an opportunity for the industry to try the new namespace and start migrating their frameworks. 

View more...

Selenium UI Test Execution On Remote Selenium Grid Running In Kubernetes Environment

Aggregated on: 2020-06-25 20:10:03

Selenium tests require local web driver support to run on regular desktop machines and even the same can be run using docker selenium hub support on Linux machines. But do you know, we can even run selenium tests on headless browser supported by remote selenium hub service running inside Kubernetes environment?

View more...

Elastic Computing With Low-code

Aggregated on: 2020-06-25 20:10:03

As we move into the cloud computing era, we've seen the floodgates open and waves of new development frameworks taking advantage of every opportunity that cloud computing technologies offer. To the non-technical audience, it can become overwhelming and sometimes confusing to navigate these waters into new frontiers. For that reason, we're going to break down the technical jargon into the real world benefits.

View more...

Discussing State Management in Angular and Vue

Aggregated on: 2020-06-25 19:00:03

State management is a management pattern of how a website interacts with users. For example, when you watch a Youtube video and resume it from the same point of time. When you send that video link to your friend, it starts from the beginning. It means that the application has remembered your activity but has not reflected in the URL. Angular and Vue are both exceptionally good frontend platforms but the pattern in which they interacting with users is quite different. Which brings us to the question that how both these frameworks are powerfully handling different types of states in large-scale applications? 

View more...

Sending Pandas DataFrame as JSON to CoreUI/React template

Aggregated on: 2020-06-25 17:50:03

Tutorial Objective By the end of this tutorial, you will be able to do the following: Core UI React Template Python with Flask RESTful API Using Pandas module to read a CSV from the web and collect rows as Pandas DataFrame Convert Pandas DataFrame to JSON Send JSON result in UI and render as HTML Table Getting Starting Code (Bootstrap Code to Start With):

View more...

Presenting the SPCoder Application

Aggregated on: 2020-06-25 16:40:03

SPCoder is a desktop application for writing and executing C# code without the need for a tool like Visual Studio. It uses Roslyn for analysis and execution of the C# code. The whole idea behind the SPCoder was to create an environment where you could write and execute code and also have different helpful modules for working with data. The application is extensible using so-called autorun scripts, plugins and connectors. So you can write a C# script and make it a part of the application.

View more...

TrapRange: a Method to Extract Table Content in PDF Files

Aggregated on: 2020-06-25 16:40:02

Introduction A table data structure is one of the most important data structures in a document, especially when exporting data from enterprise systems, data is usually in table format. There are several data file formats that are often used to store tabular content such as CSV, text, and PDFs. For the first two formats, it is quite straight forward just by opening file, loop through lines, and split cells with proper separator. The libraries to do this are quite a lot.

View more...

Spring Boot CRUD Example With RESTful APIs and JPA

Aggregated on: 2020-06-25 16:40:02

In the video below, we take a closer look at  Spring Boot with Spring Data JPA. We'll create a Spring Boot CRUD application with RESTful APIs and JPA. Let's get started!

View more...

API Security Weekly: Issue #89

Aggregated on: 2020-06-25 15:30:03

This week, we have the recent API vulnerabilities at Starbucks and in Drupal, a set of open-source tools by the Spanish bank Banco Bilbao Vizcaya Argentaria (BBVA), and extensions to Microsoft platform for integrating API security throughout it all. Vulnerability: Starbucks Sam Curry found an API vulnerability at Starbucks that exposed almost 100 million customer records. In his detailed write-up, Curry walks us through how he went about finding the issue:

View more...

8 Essential Steps to Effectively Manage Projects

Aggregated on: 2020-06-25 15:30:03

We are investing our experience in project management to provide 8 essential steps that can generate the maximum chance of project success. We will not be discussing any specific project management framework but will discuss the critical structure that will help you lead your project from day 1. Step 1: Identifying the Vision  A project is said to be successful when it meets the needs of a stakeholder. A stakeholder can be anyone who is affected directly or indirectly by the project outcome. A few examples (not an extensive list) of stakeholders are:

View more...

4 Steps To Developing an Agile Testing Mindset

Aggregated on: 2020-06-25 15:30:02

To ensure a successful transition to the agile process, we must hone our skills in agile testing mindset. It is more of a mentality, followed by all the necessary traits that are needed to get things done efficiently.  On that note, an agile testing mindset also requires relearning and focusing on communication, evolution, documentation, and collaboration.

View more...

API Success: The Journey to Digital Transformation

Aggregated on: 2020-06-24 22:30:03

Application programming interfaces, or APIs, enable external and internal consumers to seamlessly access, interact, and engage with a company's data and functions. APIs essentially bind different parts of a value chain together even though the underlying components may be based on different systems, technology, or supplied by different vendors. The use of APIs can be easily seen in the marketplace through the web of interconnectivity developing between popular SaaS and PaaS providers, along with partners and the developer community. For instance, the customer service management platform Service Now can interact via APIs with the customer master data in your NetSuite customer relationship management (CRM) system so when a customer calls your organization, all of the caller's correct details are readily available. You know who they are and you don't keep them frustrated on the phone for 10 minutes while you type in all their information.

View more...

How Should I Store Currency Values in SQL Server?

Aggregated on: 2020-06-24 22:30:02

On Twitter, Michael Dyrynda writes: Never ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever store currency as a float in your database.

View more...

Synchronization of Jira Projects Between 2 Jira Instances

Aggregated on: 2020-06-24 21:20:05

Introduction: Most of us are aware that JIRA is one of the best application lifecycle management tools on the market. The main feature of Jira is team collaboration. We may come across a situation where there is a challenge in collaboration between the business team and partners due to their network restrictions. In this article, we will see how this problem will be addressed and what are all the options available as a solution.

View more...

Best Raspberry Pi IDEs

Aggregated on: 2020-06-24 21:20:05

The Raspberry Pi may not be the only single-board computer (SBC) on the market, but it's certainly the most popular. Boasting a massive user base plus a plethora of first- and third-party resources ranging from books and accessories to forums and courses, it's a well-documented maker board that benefits from regular updates. The Raspberry Pi Foundation debuts new models and variants regularly. With its shocking processing power, the Pi works extremely well as a desktop computer, and accordingly for programming and development. Learn why you should consider the Raspberry Pi as a programming machine, and check out the best Raspberry Pi integrated development environments (IDEs) for all languages! Why the Raspberry Pi Is Great as a Programming Desktop

View more...

A Modern Approach to Cloud Security

Aggregated on: 2020-06-24 21:20:05

Conventional on-premises ways to deal with cybersecurity can put organizations in danger when applied to the cloud. A renewed, present-day procedure for cloud security ought to relieve hazards and help accomplish your business goals. Introduction to Modern Cloud Security Approach Cloud security is the insurance of information, applications, and foundations associated with distributed computing. Numerous security parts for cloud conditions, whether it's an open, private, or mixture cloud, are equivalent to any on-premise IT design.

View more...

The State of Linux 2020

Aggregated on: 2020-06-24 21:20:05

As the world passes through trying times in 2020 withstanding and navigating through challenges posted by COVID, some things which are seeing a significant boost include ways in how corporations perceive digital transformation. It's no longer an optional initiative to embark on this journey but an imperative keeping in mind the significant ways in which digitizing development and operations enable effort savings and in turn reduction in cost to maintain and scale their technical landscape. 

View more...

How IP Addresses and Domain Names Get Blacklisted

Aggregated on: 2020-06-24 21:20:04

Introduction It is always worrisome for business if domain name or server IP address gets blacklisted and sometimes the reason behind those blacklisting remains unknown to us.   So what can be the root cause that this Domain name/IP gets blacklisted?

View more...

Accelerating Analytics by 200% with Impala, Alluxio, and HDFS at Tencent

Aggregated on: 2020-06-24 21:20:04

In this article, Honghan Tian describes how engineers in the Data Service Center (DSC) at Tencent PCG (Platform and Content Business Group) leverages Alluxio to optimize the analytics performance and minimize the operating costs in building Tencent Beacon Growing, a real-time data analytics platform.  Specifically, by using Alluxio as a distributed caching layer, the HDFS scanning performance for Impala SQL queries is accelerated by 2x out of the box without further optimizations.

View more...

Testing Robin, the RPA Programming Language Using Itself

Aggregated on: 2020-06-24 21:20:04

Software testing in most software houses involves testing web/mobile apps, on-premise, in the cloud or hybrid installations, desktop apps, embedded software/hardware platforms and the like. What about testing a programming language though? How do you approach such a task? Of course, given the fact there are many popular, tried-and-tested languages out there, there are a plethora of possible approaches but we will attempt to follow a different one (approach) and provide an RPA domain-specific example.

View more...

5 Steps to Effective KYC Compliance

Aggregated on: 2020-06-24 21:20:04

Compliance demands are growing alongside business concerns of how to satisfy these new laws in real life. To play by the rules and avoid unnecessary fines, companies are getting back to the basics in order to fully evaluate their KYC processes and determine the changes ahead. Having advanced compliance is definitely a head start for companies who wish to win the race against their competitors. But to get this advantage, businesses have to know how to play by the rules and get their KYC right.

View more...

CLI Tool for Developers: Odo

Aggregated on: 2020-06-24 21:20:04

Overview Odo is an open-source project. Odo Client as the name signifies, it is completely client-based. It helps developers to write, build, and deploy applications on OpenShift and Kubernetes. Hers is Interactive learning if new to OpenShift. Using the Odo command-line tool you can build and deploy applications on OpenShift and Kubernetes. Odo reduces the cognitive load as compared to oc client which is more operations-focused and requires a deep-understanding of Kubernetes and OpenShift concepts.

View more...

An Introduction to Data Labeling in Artificial Intelligence

Aggregated on: 2020-06-24 21:20:03

The world is flooding with data. In 2018 alone, we generated over 30 zettabytes of data. In any AI project, for AI professionals, data issues are some of the sticking points.

View more...

Why Now Is the Time for the Spring Boot of Infrastructure Automation

Aggregated on: 2020-06-24 21:20:03

Gartner predicts that through 2022, 75% of DevOps initiatives will fail to meet expectations due to issues around organizational learning and change. But DevOps initiatives are important because they enable critical capabilities to compete in the future. Without demolishing the figurative wall legacy IT built between development and operations, delivering the kind of digital experiences customers expect today will more likely fail than not.

View more...

5 Tips to Structure DevOps Testing Strategy

Aggregated on: 2020-06-24 21:20:03

The sole purpose of DevOps is to automate and simplify the overall software delivery process. At present, most organizations focus on structuring a booming DevOps testing strategy that initiates the adoption of agile best practices related to Continuous Integration (CI). This operation involves developers to check code within a shared repository multiple times in a day. Every check-in is later verified using an automated build, thereby, permitting teams to identify errors and potential conflicts. Identify the Correct DevOps Testing Arrangement With most DevOps projects, the aim is to automate the maximum number of manual processes falling under the software delivery process. It is essential to keep track of major roadblocks within the DevOps pipeline that can lead to slow deployment. This includes error-prone manual processes like exchange actions from a development group to a QA group. Such handoffs point out to lack of shared possession of the end product, simply opposing to the basic development and agile testing methodology. 

View more...

Data Exploration and Data Preparation for Business Insights

Aggregated on: 2020-06-24 21:20:03

What Is Data Exploration? Data Exploration or Exploratory data analysis (EDA) provides a simple set of exploration tools that bring out the basic understanding of real-time data into data analytics. The outcomes of data exploration can be a powerful factor in understanding the structure of data, values distributions, and interrelationships. Data exploration can also be helpful for data scientists to gain proper insights into business data that was not easily seen previously. Data exploration is the first step in data analytics. Understanding business data is essential for making a well-planned decision, which usually involves summarizing the main features of a data set, such as its size, pattern, characteristics, accuracy, and more.

View more...

Deploy Spring Boot Apps From Jar to War

Aggregated on: 2020-06-24 17:40:03

Make it Platform-Independent  Developing Spring Boot applications could be easy these days with the likes of annotations and initializes as Maven, Spring Boot, and embedded servers.  So as we know when building a Spring Boot application, by default, we package the application into a JAR file and execute our main application class into a main embedded tomcat server. We then run our application tests, web app, or REST endpoints within our environment for easy testing and debugging.

View more...

Reactive Microservices Done Right!

Aggregated on: 2020-06-24 17:40:03

Introduction In this article, we will take a look at how effective microservices development can be modeled around the concepts in reactive systems. First, we will look into what a reactive system is, and what is required to become one. Then we will look into how we have applied these concepts into the microservices world, and specifically how Ballerina, a programming language that was designed from the ground up to have first-class support for microservices, is fulfilling this with some easy-to-use abstractions for developers.  Reactive Systems A reactive system is created by following a set of guiding principles. These are mainly mentioned in the reactive manifesto. It talks about how to create systems that can take advantage of the latest hardware, and use those resources most efficiently. It basically provides a guideline on creating a better-distributed system. A reactive system is said to be responsive, resilient, elastic, and message-driven. 

View more...

Advanced Process Integration Tips - Asynchronous Execution

Aggregated on: 2020-06-24 17:40:03

After you get started with your first process projects, you're going to reach a point where you might want to start using more advanced process integration features. One of these that we'll explore here together is how to set up your process automation projects to execute processes asynchronously. By default, the flow of tasks is executed synchronously: all tasks will be treated one after the other, by a single thread. This being said, if a process contains, for example, four service calls - where each call lasts around 30 seconds - this process execution will run - and allocate JVM, CPU, etc.. - for long two minutes. And worse, the caller of this instance has to wait for two minutes until getting a response. In scenarios using default configurations, this situation results in a timeout exception.

View more...

Kubernetes Security: Don’t Forget These Best Practices

Aggregated on: 2020-06-24 17:40:03

Orchestration tools like Kubernetes bring about exceptional levels of versatility and resiliency to software deployment as well as management. They provide many controls that help to improve your application security a big deal. Especially, in security-centric industries, such as finance and healthcare, Development and Operations (DevOps) teams should strike the balance between usability, security, and functionality. If implemented properly, Kubernetes can be an answer here.  But, when you deploy Kubernetes, your security efforts should focus on preventing Denial-of-Service (DoS) attacks, internal, and external threats. Follow these five best Kubernetes security practices and guarantee your success with the technology, now and in the future.

View more...

Build Reactive REST APIs With Spring WebFlux

Aggregated on: 2020-06-24 17:40:02

In this article, we will see how to build reactive REST APIs with Spring WebFlux. Before jumping into the reactive APIs, let us see how the systems evolved, what problems we see with the traditional REST implementations, and the demands from modern APIs. If you look at the expectations from legacy systems to modern systems described below,

View more...

Patterns of Reading JSON

Aggregated on: 2020-06-24 17:40:02

JavaScript Object Notion (JSON) is a de-facto standard for exchanging data over Web API. JSON is a recursive data structure and can be visualized as a key-value pairs tree. There are two broad categories of APIs for reading information from JSON :

View more...

Cloud-native development - An advanced deployment blueprint

Aggregated on: 2020-06-24 13:00:03

The previous articles were introducing the foundations of a blueprint for cloud-native development, exploring a logical diagram, and diving into the first use cases with cloud-native development on local, remote containers, and a look at a deployment blueprint. This article completes the series with a look at the advanced cloud-native deployment blueprint. A description providing you with guidance for aligning this blueprint to your organizational architecture follows.

View more...

Database Fundamentals #23: Filtering Data

Aggregated on: 2020-06-24 03:50:03

If you've been reading these Database Fundamentals posts, you've already seen the WHERE clause because of your use of it when manipulating data with DELETE and UPDATE statements. It's also been used several times earlier in this series to limit the values returned from a SELECT statement. The primary places where people run into trouble with T-SQL is in the JOIN criteria and the WHERE clause criteria. This occurs because they don't understand well enough what the filters and operators they're using will do. They end up returning too much data because they didn't us the WHERE clause or misapplied it. They also filter too much data out. 

View more...

An Insight Into Data Connectivity Challenges and How to Overcome Them

Aggregated on: 2020-06-24 03:50:03

Data connectivity is the ability to connect one or more servers and clients so as to transfer huge volumes of data between them. Data connectivity and the demand for it has been changing the way we live and work. We dwell in a connected world in which data connectivity helps us communicate, conduct business, travel from one place to another and help us stay informed. The quest for using data effectively and innovatively has increased the need for reliable and robust data connectivity so that the enterprises can analyze the data and make intelligent business decisions when need be. The evolving technologies such as 5G, virtual reality, artificial intelligence systems, robots, drones - all of these need better data connectivity. Albeit the fact that data connectivity is extremely important, it is complex and poses challenges aplenty. This article talks about data connectivity challenges and the strategies to overcome them.

View more...

Turn Databases Into APIs for Data-Driven Testing

Aggregated on: 2020-06-23 22:00:03

The most effective method of testing an API program involves creating multi-step integration tests that validate common API consumer flows. API endpoints are meant to work together, so it follows that test data coming from one API that feeds another API should not be fixed or pre-built. This is very important because the less you rely on fixed data, the more unpredictable and therefore thorough the testing path will be. Moreover, API mutation operations may have side effects that cannot be evaluated by simply validating the same endpoint. Side effects propagate throughout the system, and their efficacy can only be validated by querying other endpoints and comparing the results.

View more...

Quarkus vs Spring Boot – Performance

Aggregated on: 2020-06-23 22:00:03

In this article, we are going to compare the Quarkus and Spring Boot applications and how they behave in terms of memory management. To be fair in comparison to both the applications, we will go with a standard set of dependencies. Both the application will include Spring Web dependencies only. They will be build using maven tool and jar files will be created. Both the application will have similar REST Endpoints.

View more...

Create Custom Robot Framework Libraries

Aggregated on: 2020-06-23 19:40:02

Robot Framework supports numerous libraries which can be used out-of-the-box. But what if we need functionality which is custom to our application? In that case, we can write our own custom library. In this post, we will take a look at how we can share keywords between Test Suites and how we can create our own custom Robot Framework library. 1. Introduction In our previous posts Automated Acceptance Testing With Robot Framework and How to Write Data Driven Tests With Robot Framework, we learned the basics of Robot Framework. We also learned how to write keywords in order to reuse commonly used functionality between test cases. All of this remained in one Test Suite, but what if you have created keywords which you also want to use in other Test Suites? We will explain how to make use of resource files and how to create custom Robot Framework Python libraries in order to share common keywords between Test Suites.

View more...

Realistic Challenges Faced for DevOps Implementation

Aggregated on: 2020-06-23 18:30:03

Many software development organizations around the world use traditional software development methods, which involve various stages throughout its completion. The organizations can change the development process to automate it using the software. DevOps is the software that automates software delivery by concurrently facilitating the software development and testing phases, between the software developers and information technology teams. Challenges Faced by Many Organizations While Implementing DevOps Most organizations are reluctant to switch from conventional development techniques to automation. They fear that the process of switching over may not be accepted by the developers who are comfortable working with conventional ways. Below are some of the challenges encountered that organizations come across while implementing DevOps, other than the associated problems of the use of technology and compatibility issues.

View more...

Fear-Driven Development: Fears of A Software Developer

Aggregated on: 2020-06-23 18:30:03

"The only thing we have to fear is fear itself." - Franklin D. Roosevelt

View more...

Cloud Testing — The Future of Software Testing

Aggregated on: 2020-06-23 18:30:03

Cloud testing is a software testing using cloud computing, which means using resources found in the cloud. Resources may be any hardware, software, and infrastructure necessary to carry out the tests. Easy access to the cloud environment helps organizations approach software testing as an easily scalable, on-demand service. Over the last decades, traditional software testing incurs a high cost to simulate user activity from multiple locations. Most applications were running on client/server architecture, and data was tightly coupled with applications in client/server architecture. Then the World Wide Web came along with N-tier application architecture where developers could create flexible and reusable applications. By segregating an application into tiers, developers acquired the option of modifying or adding a specific layer, instead of reworking the entire application. Technology innovation has further provided web access to people on the go via laptops and mobile devices.

View more...