Automated testing has become standard industry practice, saving quality assurance engineers the time and effort required of manual testing while enhancing overall code efficiency and accuracy. It also allows companies to reduce costs while speeding up product release times. These benefits can become especially apparent when developers are testing web applications that have long life cycles like those in the financial industry.
When working on these continuously expanding projects, SDETs (Software Development Engineers in Test) must implement the testing infrastructure and automated tests in such a way that the state of the system can be checked at certain designated intervals. In a sense, these engineers must travel in virtual time. This process can be quite complex and problematic. To avoid testing-related issues when working on projects with long life cycles, SDETs can follow several approaches as detailed in this article. These approaches are implemented in Ruby, but they can easily be converted to any programming language.
Functional coding just makes sense. It’s not only fun, but it expedites your developing process. Coding in a more functional style improves code reliability, and simplifies the debugging and testing process. Thanks to composition possibilities, it’s possible to divide all transformations into separate functions, give them meaningful names, think over the signature, and provide proper coverage with testing. You’ll be surprised how much cleaner your code will become. Most importantly, functional coding presents new approaches to solving old problems.
Let’s imagine I am building an iOS app that contains four features located at the bottom of the screen. For the base navigation, I start with the native iOS UITabBarController:
Software testing is a highly specialized, quickly evolving field. New packages and procedures are being introduced every day, and automated testing methods are increasingly replacing manual methods, significantly speeding up release times while ensuring high-quality code. Navigating through this fast-paced, demanding field can be difficult, especially for junior testers and trainees.
Many inexperienced testers mistakenly believe that their central objective is to find bugs in the application. They tend to focus on crashes within the system, testing through unrealistic scenarios while neglecting to prioritize and carry out essential procedures. Other trainees are simply unaware of all the methods and techniques they will need to employ to ensure the product functions flawlessly while fulfilling all the client’s requirements.
To provide junior testers and trainees with a solid basis they can build on, this article presents an overview of testing types, testing techniques, and defect tracking procedures. Having a strong understanding of these concepts, and how to prioritize them, will help junior testers and their teams successfully deliver high-quality software.Read More
Amazon Simple Storage Service, or Amazon S3, is a cloud storage platform that gives developers the ability to securely collect, store, and analyze their data with almost unlimited scalability. It has proven to be fast and reliable — a PaaS solution that acts like a backbone for many business applications — and gives customers the flexibility of optimizing their cost based off the amount of storage they’re using.
When working on continuously expanding projects over long periods of time, software developers often come across code that must be updated in order for the project to progress. If the code is outdated, preparing the environment and launching certain applications become problematic. Docker is an open-source, virtual environment tool primarily used on Linux and OS6 applications that allows the developer to more quickly update and deploy apps inside various virtual software containers. These containers do not require separate operating systems. They access the Linux kernel’s features, meaning several containers can be run simultaneously by a single server.Read More
We’ve all been there, struck with a great idea for a software product, but no clear direction to start the development process. How does your idea for a new product help solve real problems? How do you define the desired product throughout the solution discovery process? What are the project requirements and objectives? As a software company with expertise in providing answers to these questions to companies of all sizes, we’re here to provide some guidance.Read More
Every application development team recognizes the value of thoroughly testing an application for quality assurance prior to deployment. Overlooked bugs can cost companies thousands of dollars. Moreover, releasing broken builds and features can frustrate and alienate the users and clients. Manual testing can be useful in a lot of cases, but it is a slow and human resource-intensive process.
Automation testing on the other hand, can speed up the whole testing process by expanding your test coverage and, as a result, providing with a better clarity and high quality code. Automated testing can save the project owners a great deal of time anmoney, as it only requires a fraction of the time needed for manual testing. That’s why every QA engineer is sooner or later faced with the question of how to automate their workload. The next question is how to choose the right automation tool for the project at hand.
Native applications are the ones that are written using the iOS or Android SDKs. Mobile web applications are web applications that are being accessed using a mobile browser. Hybrid applications are defined by a wrapper around a “webview” — a native control that enables interaction with web content. So, these criteria need to be taken into account during the evaluation process.
Our goal was to create automation test coverage for both iOS and Android native applications. Our team was previously involved in automated testing of a web version of this application using RSpec, Selenium and Capybara. Therefore, we acquired experience working with these tools. The main factors during the tool selection process were: ability to use this tool for automating both iOS and Android tests, reliability, ability to work with simulators and emulators as well a work with real devices. The tool had to be well documented, easy to set up and maintain, ad we really wanted to use the latest technology.
Erlang is a programming language that appeared in 1986. Originally it was designed to be used in telecom applications development but nowadays it is used in different spheres like instant messaging, e-commerce, computer telephony, banking. Erlang is effective when system has to be soft, real-time, scalable with high availability. Concurrency, distribution and fault tolerance is supported by Erlang’s runtime system. There is a set of Erlang libraries called OTP. OTP includes distributed database, tools for debugging and release handling.
Erlang can be used to build web applications with the help of frameworks. There are four actively maintained frameworks: ChicagoBoss, N2O, Nitrogen, Zotonic and Erlang Web which is no longer maintained. Read More
The current SAP and Digital Transformation landscape isn’t just exciting, but it’s constantly evolving. Which is why the Sphere team has decided to partake in this year’s SAP SAPPHIRE NOW Conference, the largest cloud innovation and business tech conference in the U.S., from June 5 to 7 in Orlando, Florida. At this conference, we’ll share some our best practices and SAP solutions with other thought leaders in the industry. We’ll also get some great insight on the current state of SAP and Digital Transformation, and where these industries are heading in the near future.