Create Human Readable Test Cases For Automated End-to-End Testing

Photo by Alexander Duncan on Unsplash

Test automation is a fascinating idea as you can let computer programs run the test cases for you, saving your time and effort on the execution of the trivial and mundane test steps manually. Since test cases are implemented using program code, it is difficult for end users to understand and not to mention the chance for them to adjust the test cases by themselves.

In fact, there is a gap between business domain and technical domain when translating user stories to technical implementation, leading to misunderstanding and missing user requirements.

With the advent of behavior driven development (BDD), the…


Simplify Your Code Logic Using Powerful Java Stream API

Photo by Compare Fibre on Unsplash

The debut of the Java stream API since Java 8 created a new way of coding which dramatically simplifies code logic and reduces the lines of code for many programming tasks. Instead of looping through each item from a list or array, Stream API works with data stream flow, so you can achieve business requirements by adding a series of operations to the stream.

Let me show you the power of the stream API with an example. Say, the task is to group an array of employee records into a data map organized by job title. …


A Quick Guide To Build Reactive Spring WebFlux

Photo by Micah Tindell on Unsplash

Spring MVC has been a popular framework not only because of its simplicity but also its offering of a wide range of production ready features, enabling rapid system development. Many enterprises built mission critical systems based on this framework. However, this technology does not come without drawbacks. Its thread-per-request design and synchronous I/O operations has become a glaring issue as the design blocks the current thread until it receives response from I/O operations such as file access, database access and API consumption. …


A Quick Start Guide To Build A Marvelous Application From Scratch

Photo by Heather Ford on Unsplash

The concept of component based design is popular in the domain of front-end app and website development. Many prevailing front-end frameworks and libraries such as React JS and Angular promote this design approach. To start building an app or a website, the very first step is to break down the screen into components.

In fact, many modern applications share a set of common UI patterns such as Accordion, Calendar, Clock, etc. …


Energize yourself and set a great tone for your day

Photo by Joshua Earle on Unsplash

A good way to stay productive and keep abreast of the latest technologies has always been an intriguing topic for software developers, designers, architects and people who work in the technology field. People working for software design and development are proud of themselves as the application of innovation and creativity changes the world. While you are passionate about the marvelous project implementation or your ambitious side hustles, daily grind, difficulties and hard realities somehow hinder us at some points in our lives. Feeling exhaust, burn out and getting loss of direction, realizing your goals are far out of reach.

Hard Knowledge Isn’t The Only Key Factor To Success

Beyond…


A Journey from Jenkins to CircleCI on cloud computing

Photo by Halil Ibrahim Cetinkaya on Unsplash

The more time software engineers can spend on business function development, the more value can be delivered to business. It is the truth that building new features and business logic require programmers to stay highly focused in order to carry out analysis, design, coding and testing. However, the reality is that they get distracted and occupied by many other tasks and it consumes them a substantial proportion of time in their day-to-day work. Those are the overhead of software development such as those repetitive and tedious manual procedures for system build and deployment. …


Essential Tips To Software Quality Assurance for Java Technology

Photo by Joel Fulgencio on Unsplash

Building automated unit tests as part of application code development is undeniably a great practice as you can run the tests frequently to verify system logic whenever you change the code. Unfortunately, testing alone is just one of the dimensions of software quality. Taking care only a single dimension does not guarantee a high quality deliverable.

Testing mainly covers software functionalities while there are other perspectives such as reliability, security, maintainability and more. Your application would become faulty if those areas are ignored. …


Comprehensive Guide To Assure Your Software Quality

Photo by Shane Aldendorff on Unsplash

No high quality software without going through testing. Delivery of defective software is not only no use but also a waste of effort, it will just lead to a damage to personal and corporate reputation. Hence, normally, substantial proportion of project cost is allocated to quality assurance in thecommon project management practice. Some firms even setup a dedicated teams solely responsible for all types of testing.

However, not every people are keen on doing tests. Somehow, testing is a boring job as it involves tedious and repetitive tasks — sitting in front of a screen, following the steps according to…


Build Your Application in a Maintainable and Consistent Structure

Photo by ThisisEngineering RAEng on Unsplash

Coding is a work of art. There is a variety of coding styles that leads to implementation of the same logic. Even if your code perfectly fulfills the business requirements, thing would go south later if you do programming in a casual style without a proper organization. It will probably take you 10 times of your effort to build new features or troubleshooting on a messy code structure.

In fact, it quite simple to implement a consistent and high maintainable system. …


A Definitive Guide To Marvellous And Consistent Website Design

Photo by Emma Matthews Digital Content Production on Unsplash

UX/UI Design is the important and very first step of a website creation. No matter how awesome the prevalent technologies can achieve, nothing meaningful and valuable can be delivered without a gorgeous design.

Albeit many software engineers are experties in translating the design into markup language and program codes such as HTML/CSS/JS, few knows the rationale behind the design. As a software developer, understanding the design principles and grasping the skills of UX/UI design is not only a great value added to personal development but also beneficial to the team amid the fast growing culture of cross-functional teams.

Mastering the…

Gavin Fong

IT professional of software development and system implementation, passionate about technologies, in search of life meaning

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store