Keeping up with the technology trends is always important to stay relevant in the IT industry. Product you are working on currently might be phased out slowly in the coming years. There might be some programming language getting popular now-a-days. How do you know about the niche technology? The first step to a successful career is to know your current competencies, and be aware about the emerging tools & technologies. Next step would be to kick-off the learning. But how do you know what’s trending in the Jobs market? How do you stay updated with respect to different technology, tools, framework and concepts?
Any technology or tool is worthless unless it is being used by ‘some’ organization somewhere. It all starts from organizations adopting the new technology or a tool and then it gets popular slowly. In that sense QA Job Descriptions are a great source of current technology, i.e. practical tech. being used by IT organizations. Be it Selenium, Protractor, Appium, API tools, Big Data Testing, etc. Everything is embedded in the QA Job descriptions, you just need to mine some data 😉 But don’t worry. Continuing on our “JD Talks” series – we mine hundreds of QA Job descriptions to come up with latest tools, technology, languages and concepts. Let’s see what the fourth set of JDs talk about…
JSON | Structured Data
- Data is in name/value pairs.
- Data is separated by commas.
- Curly braces hold objects.
- Square brackets hold arrays.
- Less verbose – XML uses more words than necessary.
- JSON is faster – Parsing XML software is slow and cumbersome.
Jenkins | Continuous Integration
Jenkins is an open-source continuous integration (CI) and continuous delivery (CD) solution written in Java. The idea of CI is to merge code from individual developers into a project multiple times per day and test continuously to avoid downstream problems. CD takes this a step further to ensure that all merged code is always in a production-ready state. Jenkins enables developers to automate this process as much as possible — up to the point of deployment.
Builds can be triggered by various means, for example by commit in a version control system, by scheduling via a cron-like mechanism and by requesting a specific build URL. It can also be triggered after the other builds in the queue have completed.
Running Selenium tests in Jenkins allows you to run your tests every time your software changes and deploy the software to a new environment when the tests pass. This concept is meant to remove the problem of finding later occurrence of issues in the build life-cycle.
Bitbucket is a web-based hosting service that is owned by Atlassian, used for source code and development projects that use either Mercurial or Git revision control systems. Bitbucket offers both commercial plans and free accounts. Bitbucket integrates with other Atlassian software like Jira, HipChat, Confluence and Bamboo. It has 3 deployment models: Cloud, Bitbucket Server and Data Center.
Trivia: Bit Bucket is a term used to describe a logical space where lost, deleted or unrecoverable data goes. The term initially referred to the physical basket that contained the chads or removed pieces from the paper tape or paper cards that acted as programs for the earliest computers.
Appium | Mobile Automation
Appium is an open-source test framework for automating native, mobile web, and hybrid applications on iOS and Android platforms.
- Native apps: written using the iOS, Android, or Windows SDKs.
- Web apps: accessed using a mobile browser.
- Hybrid apps: wrapper around a “webview” – a native control that enables interaction with web content.
- Appium is cross platform, i.e. write tests against multiple platforms (iOS, Android, Windows), using the same API (code reuse).
- Appium uses vendor-provided automation frameworks (Apple’s XCTest, Google UiAutomator, Google Instrumentation via Selendroid, Microsoft WinAppDriver) so that there is no need to change-recompile the app.
- Appium wraps the vendor-provided frameworks in one API, the WebDriver API. WebDriver (aka “Selenium WebDriver”) specifies a client-server protocol (known as the JSON Wire Protocol). Given this client-server architecture, a client written in any language can be used to send the appropriate HTTP requests to the server. There are already clients written in every popular programming language.
Note: Appium & WebDriver clients are not technically ‘test frameworks’ – they are “automation libraries”.
JBehave | BDD Framework
JBehave is a framework for Behavior-Driven Development (BDD). BDD is an evolution of test-driven development (TDD) and acceptance-test driven design, and is intended to make these practices more accessible and intuitive to newcomers and experts alike.
JBehave supports Java-based development, and plain English is used to form the story. The story comprises of one or more scenarios, and a scenario is made up of one or more steps. Kind of steps – ‘Given’, ‘When’, and ‘Then’, which are used in all BDD tools. The keywords in JBehave are,
- Scenario, GivenStories, Given, When, Then, And
Once BDD scenarios are defined, implement the steps via Java code.
Hybris | E-commerce
Founded in 2007, Hybris is an enterprise-level e-commerce platform which allows its consumers to sell in both B2B and B2C markets effectively. It got acquired by SAP in the year 2013. Recently SAP integrated SAP backend (SAP CRM and SAP ERP) with Hybris, so any company which is using SAP backend can move to Hybris easily.
‘SAP Hybris Cloud for Customer’ offers – Sales Solutions | Service Solutions | Marketing Solutions. The e-commerce framework is built on top of spring framework. It used the best available open sources and built a commercial e-commerce framework.
Git | Version Control
Git is a free & open source distributed version control system for tracking changes in files and coordinating work on those files among multiple people. It is designed to handle everything from small to very large projects with speed and efficiency.
Git is a mature, actively maintained open source project originally developed in 2005 by Linus Torvalds, the famous creator of the Linux operating system kernel. A staggering number of software projects rely on Git for version control, including commercial projects as well as open source.
Trivia – Git is not an acronym. ‘git’ is British slang for a dumb, annoying, or generally unpleasant person. The joke is that Linus Torvalds (Linux creator) names his projects after himself, so he chose ‘git’ as the name of the SCM he made.
ETL | Extract >> Transform >> Load
ETL is short for extract, transform, load. It’s a type of data integration that refers to the three steps used to blend data from multiple sources. It’s often used to build a data warehouse. ETL refers to three separate functions combined into a single programming tool.
- Extraction – data is extracted from homogeneous or heterogeneous data sources.
- Transformation – data is transformed for storing in the proper format or structure for the purposes of querying and analysis.
- Loading – data is loaded into the final target database, more specifically, an operational data store, data mart, or data warehouse.
Data must be properly formatted and normalized in order to be loaded into data storage systems, and ETL is used as shorthand to describe the three stage process of moving data from its source to a formal data storage system.
HPE ALM | Application Life-cycle Management
HP Application Life-cycle Management (HP ALM) is a set of software tools developed and marketed by Micro Focus for application development and testing. It includes tools for requirements management, test planning and functional testing, performance testing (when used with HP Performance Center), developer management and defect management. HPE ALM include interactions with other development tool sets such as Jenkins, GIT, and Gherkin.
HP Quality Center is a quality management platform that can be used for a single project or across multiple IT projects to manage application quality across the entire application life-cycle. The solution provides requirements management, release and cycle management, test management, defect management and reporting capabilities that support visibility across the product development life-cycle.
Stay tuned for the next set of JD Talks. Hope this helps everyone in the QA community to stay updated or at least be aware of the various concepts making rounds in the QA Job world. Please let us know if this series sounds useful, in the comments section below…