💯 Tech Glossary for Recruiters
Software framework that runs primarily on Microsoft Windows. It provides a controlled programming environment where software can be developed, installed and executed on Windows-based operating systems.
Cross-platform .NET implementation for websites, servers, and console apps on Windows, Linux, and macOS. It consists of CoreCLR, a complete runtime implementation of CLR, the virtual machine that manages the execution of .NET programs. Can be used in device, cloud, and embedded/IoT scenarios.
A method of comparing two versions of a web page/app against each other to determine which one performs better. It uses data and statistics to validate new design changes and improve conversion rates.
A set of classes that expose data access services to the .NET programmer. ADO.NET provides functionality to developers writing managed code similar to the functionality provided to native COM developers by ADO.
A delightful networking library for iOS and Mac OS X. It is extending the powerful high-level networking abstractions built into Cocoa. It has a modular architecture with well-designed, feature-rich APIs that are a joy to use.
Apple’s AR development platform for iOS. Enables developers to build high-detail augmented-reality apps.
Web application framework which implements the model–view–controller (MVC) pattern. Helps build dynamic websites enabling a clean separation of concerns. ASP.NET MVC includes many features that enable fast, TDD-friendly development for creating sophisticated applications that use the latest web standards.
Available in both Swift and Objective-C, the Accelerate Framework is used to make large-scale mathematical and image calculations much easier for developers and optimized for high performance tasks. As a result it is used extensively in machine learning programs. The framework contains a variety of C APIs for vector and matrix math, digital signal processing, large number handling, and image processing.
Object-oriented programming language. It is a derivation of HyperTalk, the scripting language for HyperCard. It is a dialect of ECMAScript, and is used primarily for the development of websites and software targeting the Adobe Flash Player platform, used on Web pages in the form of embedded SWF files.
A Ruby library for working with Relational SQL Databases, like MySQL and Postgres. It provides an Object Relational Mapping.
Modern programming language designed for large, long-lived applications – and embedded systems in particular – where reliability and efficiency are essential. Ada improves code safety and maintainability by using the compiler to find errors in favor of runtime errors.
A Swift-based HTTP networking library for iOS and Mac OS X. It provides an elegant interface on top of Apple’s Foundation networking stack that simplifies a number of common networking tasks.
A mobile operating system for smartphones, tablets and netbooks. Designed primarily for touchscreen mobile devices. The Android operating system is based on the modified Linux kernel.
A complete integrated development environment that allows developers to write, compile, and run Android apps on their Android devices. AIDE supports building apps with Java/Xml and the Android SDK, apps with C/C++ and the Android NDK as well as pure Java console applications. AIDE is fully compatible with Eclipse projects.
The Android Native Development Kit a “companion tool” used only in conjunction with Android SDK that allows developers to build performance-critical portions of their apps in native code, using languages such as C and C++.
A collection of tools needed to build any kind of Android apps. Whether you end up creating an app with Java, Kotlin or C#, you need the SDK to get it to run on an Android device and access unique features of the OS. These days, the Android SDK also comes bundled with Android Studio.
The official IDE for Android app development, based on IntelliJ IDEA. Android Studio allows developers to code their apps (checking errors and file hierarchy) and test them using Android Virtual Device Manager. It works as a smart code editor so you can write better code in less time. Android Studio is available for download on Windows, Mac and Linux.
Software tool for automating software build processes. It is an XML contained list of procedural steps to perform in order to build a software project. The main known usage of Ant is the build of Java applications. Ant supplies a number of built-in tasks allowing to compile, assemble, test and run Java applications.
Fast, scalable, durable, and fault-tolerant publish-subscribe messaging system. Kafka is often used in place of traditional message brokers like JMS and AMQP because of its higher throughput, reliability and replication.
An open source test automation framework for use with native, hybrid and mobile web apps. Appium is cross-platform: it allows you to write tests against multiple platforms (iOS, Android, Windows), using the same API. This enables code reuse between iOS, Android, and Windows testsuites.
Low-level programming language for a computer, or other programmable device, that takes basic computer instructions and converts them into a pattern of bits that the computer's processor can use to perform its basic operations.
A software verification process in which the basic functions and test steps, such as starting, initializing, executing, analyzing and outputting the result, are performed automatically using tools for automated testing.
Azure Cosmos DB
Azure Cosmos DB is a fully managed database service with turnkey global distribution and transparent multi-master replication.
A proprietary high-performance database built on the basis of Google File System (GFS), Chubby Lock Service and some other Google products. Currently not distributed or used outside Google.
The method of testing the functional behavior of the system from the point of view of the external world, in which knowledge of the internal arrangement of the tested object is not used. Under the strategy is meant systematic methods of selecting and creating tests for the test suite.
Bug tracking is the process of logging and monitoring bugs or errors during software development. It's also referred to as defect tracking or issue tracking.
General-purpose, high-level language that was originally designed to develop the UNIX operating system at Bell Labs. C has now become a widely used professional language because it’s easy to learn and can handle low-level activities.
Multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented, and component-oriented programming disciplines.
An object-oriented programming language and incorporates all the features offered by C. C++ started its journey as C with classes. Gradually, it has evolved and despite the popularity of other programming languages like C# and Java, C, C++ holds its own as one of the most widely used languages for scripting. In applications, C++ is ubiquitous.
A version of the standard for the programming language C++. Major upgrade over C++98/03, superseded by C++14 and later, by C++17.
A version of the standard for the programming language C++. Minor update over C++11, superseded by C++17.
A version of the standard for the programming language C++. As of 2023, this is the most recent revision, while the successor C++20 is under preparation.
One of the earliest high-level programming languages. COBOL is run on the mainframe as well as on the PC. Referred to as a legacy language, which means it is in a format that is no longer used or supported by new systems.
Create, Read, Update, Delete. The acronym CRUD refers to all of the major functions that are implemented in relational database applications. CRUD is also sometimes used to describe user interface conventions that facilitate viewing, searching, and changing information; often using computer-based forms and reports.
A simple file format used to store tabular data. CSV is supported by a huge number of tools, from spreadsheets like Excel, OpenOffice and Google Docs to complex databases.
A modern PHP 7 framework offering a flexible database access layer and a powerful scaffolding system that makes building both small and complex systems simpler and easier.
A distributed database management system related to the class of NoSQL-systems and designed to create highly scalable and reliable storages of huge data sets providing high availability with no single point of failure.
A TDD / BDD assertion library for Node.js that can be used in conjunction with Mocha and allows expressing tests in a simple, readable form. The chain-capable BDD styles provide an expressive language & readable style, while the TDD assert style provides a more classical feel.
Dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.
A distributed SQL database for cloud services. CockroachDB is built on consistent key-values, horizontal scalability, and to survive datacenter, disk or machine failures with minimal disruptions due to replication and automated repair features. It is more suitable in the cases of multi-datacenter and -region deployments, cloud migrations, cloud-native infrastructure, and replicated or distributed OLTP (online transaction processing), rather than for heavy analytics.
An Apple's object-oriented API for macOS. Cocoa apps are developed using specifically Xcode. It consists of the Foundation Kit, Application Kit, Core Data frameworks, etc.
A user interface framework provided by Apple for building software applications on iOS, main features are: Core Animation; Core Audio; Core Data. It is primarily written in Objective-C language.
An application level dependency manager for the cocoa projects Swift and Objective-C. There are more than ten thousand libraries that will help you in creating fast and elegant applications.
Powerful PHP framework with a very small footprint, built for full-featured web applications. Provides a simple toolkit to create fully featured web applications.
A framework that is built into the operating system iOS, MacOS, which allows the developer to interact with the database. Allows data to be organized into Essence-Attribute-Value (EAV). Data management can be accomplished by manipulating entities and their interrelationships.
refers to subset of Java SE technologies. Currently Java Core is defined as a following set: basic technologies, CORBA, HotSpot VM, Java Naming and Directory Interface (JNDI), Application monitoring and management, Tools API, XML.
A distributed NoSQL engagement database that supports multiple models. CouchBase offers flexibility, high performance and on-demand scalability for both mobile and cloud-based web applications. It also saves on operations, software and hardware costs.
An open-source, NoSQL document-oriented database that is optimized for interactive applications, it provides a fast key-value store and JSON document, that focuses on the ease of use.
A type of software testing that tests web projects across different browsers, maintain different types of code and fixing the problems, popular cross-browser tests are: Browsershots, Browser Sandbox, Webshot, Browsera, etc.
A tool for running automated acceptance tests written in a behavior-driven development style. Allows to execute plain-text functional description as automated tests. Cucumber is written in the Ruby programming language.
The database management system is the software that interacts with end users, applications, and the database itself to capture and analyze the data.
General-purpose programming language originally developed by Google and later approved as a standard by Ecma (ECMA-408). It is used to build web, server and mobile applications, and for Internet of Things (IoT) devices.
The data architecture defines the data along with the schemas, integration, transformations, storage, and workflow required to enable the analytical requirements of the information architecture.
Data Pipeline is a broader term that encompasses ETL as a subset. It refers to a system for moving data from one system to another.
A collection of digital information, that is organized in such a way that it can be easily managed. The information is stored and processed on a computer with or without human assistance. Traditional databases are organized by areas, records, and files.
Database administration is the function of managing and maintaining database management systems software.
High level language supporting object-oriented design. It is a rapid application development used to develop applications ranging from database solutions to mobile applications and is used on Windows as well as Linux.
High-level Python Web framework that encourages rapid development and clean, pragmatic design. Actively maintained framework with robust features, modern security, and a large community of developers supporting it and developing plugins.
Django REST framework
Django REST framework (DRF) is a open source, mature and well supported Python/Django library that aims at building sophisticated web APIs.
Platform into which various modules can be plugged and combined to provide CMS customized to your needs. There are modules for many purposes, for example storing different kinds of content, retrieving content based on criteria, and for displaying content in different ways and much more.
A fully managed NoSQL database service in the key-value format offered by Amazon.com as part of the Amazon Web Services package. It provides fast and predictable performance with scalability.
End-To-End Tests is a framework used to test whether the flow of an application is performing as designed from start to finish, from the point of view of the end user. End to End Testing is usually executed after Functional and System Testing.
Stands for the Enterprise JavaBeans. A server-side component architecture for Java EE. It enables rapid and simplified development of large-scale distributed apps.
A dynamic, functional language, designed for building scalable & maintainable apps. Leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
A type of software testing used to analyze the behavior of the system under sustained use and with a load extended over a significant period of time. During this tests, the load may vary based on the model that is executed.
An enterprise-class RDBMS that supports update-intensive, high-volume applications. Built on PostgreSQL.
A functional programming language that allows you to write programs for various kinds of distributed systems. Language includes the means of generating parallel processes and their communication by sending asynchronous messages.
Lightweight, efficient middleware and routing framework. Express.js is best known as another quarter of the MEAN (MongoDB, Express, AngularJS and Node) software stack, and is the most popular Node.js framework.
A mobile platform for building applications with modular kits for mix and match to build the apps. It is integrated into development environment, what makes adding new services easier.
A cross-platform mobile and web application development platform in the Google cloud for creating mobile apps that gives insight into user engagement and app usage.
A lightweight Python web framework based on Werkzeug and Jinja 2. Operating system security architecture that provides flexible support for security policies. FLASK is a core framework in security-focused operating systems such as NSA's Security-Enhanced Linux (SELinux), OpenSolaris FMAC and TrustedBSD.
A cross-platform SDK for developing mobile applications. It helps easily build and experiment on UIs, fix bugs and add features. Flutter also offers built-in widgets, APIs, Google Material Design and other features to simplify development. It also allows special effects, animation, 2D, and other graphics to enhance the UI.
A type of software testing in order to verify the feasibility of functional requirements, that is, the ability of software in certain conditions to solve the tasks necessary for users. Using functional testing determine the correct operation of the software.
A statically typed programming language designed for fast compiling and efficient garbage-collection. It is multithreaded, with strict typing, high-level. There is support for the definitions of functions and procedures, as well as the relationships between them.
Google Compute Engine
Google's Infrastructure-as-a-Service (IaaS) virtual machine offering. Enables users to use virtual machines in the Cloud as server resources instead of acquiring and managing server hardware.
Build tool that does not use XML for build script, instead it provides a domain specific language (DSL). This DSL is based on groovy, another JVM compatible language. Gradle combines the power and flexibility of Apache Ant with the dependency management and conventions of Apache Maven
Web application framework that uses the Apache Groovy programming language. Grails seamlessly and transparently integrates and interoperates with Java, the JVM, and existing Java EE containers. Provides full stack functionality GSP Pages, MVVC control, GORM, etc.
Semantic Graph Database. Provides the core infrastructure for solutions where modelling agility, data integration, relationship exploration and cross-enterprise data publishing and consumption are important.
Gray-box testing (International English spelling: grey-box testing) is a combination of white-box testing and black-box testing. The aim of this testing is to search for the defects if any due to improper structure or improper usage of applications.
A flexible programming language with functional programming aspects built on top of the JVM and fully compatible with Java. Integrates smoothly with any Java program and delivers powerful features, including scripting capabilities, domain-specific Language authoring, runtime and compile-time meta-programming and functional programming.
Java-based library developed by Google. Contains several of Google's core libraries that they rely on in their Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
High-Performance Analytic Appliance is an in-memory database used to store and retrieve data as requested by the apps. It also performs advanced analytics (predictive/streaming analytics, text search, etc.).
A general purpose functional programming language with non-strict semantics. It's good for graphics, networking, systems programming, data structures, development, text processing, etc.
Object-relational mapping tool for the Java programming language. It provides a framework for mapping an object-oriented domain model to a relational database. Hibernate is a persistence framework which is used to persist data from Java environment to database.
In APP purchase
A simple and convenient mechanism for organizing sales of your applications or additional features directly from your application. In-App Purchases is easy to build in and opens up a new sales channel for you.
A time series database written in Go and optimized for fast, high-availability storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. It also has support for processing data from Graphite.
A phase in software testing where individual units are combined and tested as a group. It exposes faults in the interaction between integrated units. Occurs after unit testing and before validation testing.
Java IDE available as a commercial edition and for free as a community edition. Specifically designed to maximize developer productivity. Powerful static code analysis and ergonomic design.
A cross-platform database management system originally developed by Borland, which supports most of the known platforms: Windows, Linux, Unix, Solaris, Mac OS, etc. It is often used in embedded military and special-purpose systems.
A mobile framework built on the top of AngularJS and Apache Cordova, used for hybrid mobile application development, it uses web technologies (CSS, HTML5, and SASS).
A cross-platform web framework for Golang. Iris is fast, simple to use and can work with an MVC model. It has all the necessary features for building service-oriented applications, as well as public HTTP APIs, websites, single page websites, and microservices.
Collection of interfaces and Java annotations that simplifies development of server-side REST applications. By using JAX-RS technology, REST applications are simpler to develop, simpler to consume, and simpler to scale when compared to other types of distributed systems.
Java Database Connectivity is an application programming interface for the programming language Java, which defines how a client may access a database.
Application program interface (API) specification for connecting programs written in Java to the data in popular databases. Defines how a client may access a database JDBC. Contains set of interfaces and these interfaces are implemented by various database vendors and server vendors.
A set of tools and libraries that are needed to compile and run a Java program. Includes the Java Runtime Environment, the Java compiler and the Java APIs. JDK is an implementation of either of Java SE, Java EE or Java ME.
A load testing tool used for analyzing and measuring the performance of web services, also it covers categories of tests like functional, regression, etc. Currently it is capable of performing load tests for JDBC connections, FTP, LDAP, SOAP, JMS, POP3, IMAP, HTTP and TCP.
Library that supports test-driven development of Java code with mock objects. Mock objects help design and test the interactions between the objects in your programs. JMock focuses on explicitly specifying the behavior of the mocks using a specialized DSL (Domain-Specific Language) embeded in the Java code.
A Java programming interface, or API, that allows developers to access the languages of a host system and determine the way Java integrates with native code.
The Java Runtime Environment that consists of the Java Virtual Machine (JVM), Java platform core classes, and supporting Java platform libraries. The Java Runtime Environment provides the minimum requirements for executing a Java application.
Implementation of the Ruby programming language atop the Java Virtual Machine, written largely in Java. JRuby has built-in support for Rails, RSpec, Rake, and RubyGems.
Technology that helps software developers create dynamically generated web pages based on HTML, XML, or other document types. A JSP is translated into Java servlet before being run, and it processes HTTP requests and generates responses like any servlet.
Simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks. JUnit features include: assertions for testing expected results, test features for sharing common test data, test suites for easily organizing and running tests, graphical and textual test runners.
An abstract computing machine that enables a computer to run a Java program. There are three notions of the JVM: specification, implementation, and instance. JVM mimics a real Java processor, enabling Java bytecode to be executed as actions or operating system calls on any processor regardless of the operating system.
A general-purpose, object-oriented programming language used for web development. Java is one of the most popular programming languages in use, particularly for client-server web applications.
Standard in community-driven enterprise software, developed using the Java Community Process. It is vendor-independent. The Java EE containers take care of system level services like concurrency, transaction, security, and naming.
Java platform for developing desktop applications and it is the foundation for developing in Java language. It consists of development tools, deployment technologies, and other class libraries and toolkits used in Java applications.
Mocha, Chai, Jasmine, Jest, Karma, Cucumber, Ava, Sinon, Enzyme, Testdouble, Istanbul, Protractor, Nightwatch, Phantom, Casper, Blue-Ridge, SugarTest, FireUnit, JSLint, QUnit, JSpec, JSLitmus, Selenium, Watir, Sahi
A simple, static site, blog-aware generator perfect for personal, project, or organization sites.
An open source, production quality framework for developing RESTful web services in Java that provides support for JAX-RS APIs and serves as a JAX-RS Reference Implementation. Provides its own API that extends the JAX-RS toolkit with additional features and utilities to further simplify RESTful service and client development.
Ecommerce platform that is popular for medium to large businesses. The following list highlights some of the concrete features: out-of-the-box content management features, content organization using nested level of categories, content versioning and tagging, media management, user management, etc.
An automated Java software testing and static analysis product. It includes technology for Data-flow analysis Unit test-case generation and execution, static analysis, regression testing, runtime error detection, code review, and design by contract.
Web application that allows to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.
Statically typed programming language for modern multiplatform applications. 100% interoperable with Java and Android, compiles to Java 6 byte code, runs everywhere Java runs from servers to Android, and uses existing Java tools for its package management and build system.
Solution stack used to develop dynamic web sites and servers. Refers to Linux, Apache, MySQL and PHP/Python/Perl and is considered most growing field these days for development and deployment of highly dynamic web applications which are based on reliable foundation.
Leaner Style Sheets (Less) is a popular CSS pre-processor that extends CSS with dynamic functionality, and allows more techniques to make CSS that is more maintainable, themeable and extendable. Dynamic behavior includes variables, mixins, operations and functions.
Anonymous function that doesn’t have name, modifier, and return type. A lambda expression is like a method which provides a list of parameters and a body (an expression or a block of code) expressed in terms of those parameters.
PHP web application framework based on MVC architecture. The security feature of Laravel is prompt in taking appropriate action as and when there is a breach in security. The syntax patterns of Laravel are expressive and elegant.
A type of performance testing used to determine a system's behavior under load conditions, allows subjecting a network or application to a work level approaching the limits of its specifications.
Java-based logging utility. It is used as standard logger nowadays. Log4j allows logging on class-by-class basis i.e., each class can be covered. Through Log4j we can turn on or off the logging at runtime by changing the configuration file.
A dynamic scripting language, it is lightweight, multi-paradigm and cross-platform, designed primarily for embedded systems and clients, is easy to add to an existing C or C++ application.
Java library used for the full text search of documents, and is at the core of search servers such as Solr and Elasticsearch. It can also be embedded into Java applications, such as Android apps or web backends.
Mobile SDK that brings Google's machine learning features to Android and iOS apps. Comes with a set of ready-to-use APIs for common mobile use cases: scanning barcodes, labeling images, recognizing text, landmarks, and faces. Gives both on-device and Cloud APIs in a common interface. Provides the ability to deploy custom models.
A database management system that helps to store large amounts of information for reference, reporting and analysis. Thanks to the built-in VBA language, in the Access itself you can write applications that work with databases.
MS SQL Server
A relational database management system developed by Microsoft. It is built for the basic function of storing and retrieving data as required by other applications, both GUI and command based software.
An open-source e-commerce platform written in PHP. Provides online merchants with a flexible shopping cart system, as well as control over the look, content and functionality of their online store.
Manual testing is a type of Software Testing where Testers manually execute test cases without using any automation tools. Manual Testing is the most primitive of all testing types and helps find bugs in the software system.
A relational database with an extensible architecture, it has replaced MySQL in many places thanks to being quicker, more open and vibrant, having more storage engines, more transparent security releases, better performance, etc.
Project management and comprehension tool that provides developers a complete build life cycle framework. Development team can automate the project's build infrastructure in almost no time as Maven uses a standard directory layout and a default build life cycle.
A SQL database managing system that is used for transactions and analytics, it also combines data warehouse and streaming workloads. It compiles Structured Query Language into machine code, via termed code generation.
An in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
Mobile Application Development
Mobile app development is the act or process by which a mobile app is developed for mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones.
Mobile application testing
Mobile application testing is a process by which an application software developed for handheld mobile devices is tested for its functionality, usability, and consistency. Mobile application testing can be automated or manual type of testing.
Mobile applications (also known as mobile apps) are software programs developed for mobile devices such as smartphones and tablets.
A document-oriented database management system that does not require a description of the table schema. It is classified as NoSQL, uses JSON-like documents and a database schema. Written in C ++.
A software testing technique where the user tests the application by providing random inputs and checking the behavior. These actions do not require any special skills, but sometimes they help to successfully find even complex bugs.
An relational database management system based on SQL, associated with web-based applications and online publishing, runs on Linux, UNIX, Windows and other platforms.
Native Mobile App
A native application is a software program that is developed for use on a particular platform or device. Because a native app is built for use on a particular device and its OS, it has the ability to use device-specific hardware and software.
A method of testing an application or system that is done to ensure the stability of the application. Checks a system for unexpected conditions. Also known as error path testing or failure testing.
Next.js is a framework for server-rendered React applications as well as statically exported React apps.
An automated testing and continuous integration framework based on Node.js and Selenium webdriver, aimed at facilitating web browser automation, allows to write scenarios automatically played by a browser.
An approach to database design with a key-value store, document store, graph format for data and that differ significantly from the models used in traditional relational databases with access to data by means of SQL.
Cassandra, MongoDB, Berkeley DB, Redis, Riak, CouchDB, DynamoDB, OrientDB, Neo4j, ArangoDB, Titan, Hbase, Aerospike
A compiled object-oriented programming language used by Apple, built on the C language and the Smalltalk paradigms. In particular, the object model is built in the style of Smalltalk - that is, objects are sent messages.
Machine learning based toolkit for the processing of natural language text, framework for training your own nlp components. It supports the most common NLP tasks, such as language detection, tokenization, sentence segmentation.
An object-relational database management system produced by Oracle Corporation. Designed for enterprise grid computing. It is a flexible and cost effective way to manage information and applications.
Widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. May be embedded into HTML or HTML5 markup, or it can be used in combination with various web template systems.
Procedural Language / Structured Query Language is a procedural language extension to SQL that allows programmers to write code in a procedural format. It is embedded in the Oracle Database (since version 6), along with SQL itself and Java.
Vector graphics scripting framework that runs on top of the HTML5 Canvas. It offers a clean Scene Graph / Document Object Model and a lot of powerful functionality to create and work with vector graphics and bezier curves.
A product or service for an authorized attempt to bypass the means of protecting the information system. The result of the test is a report that can / must contain a list of detected vulnerabilities, used attack vectors, achieved results, recommendations for correction.
Testing, which is conducted to determine how quickly the computer system or part of it under a certain load. It can also serve to verify and confirm other attributes of system quality, such as scalability, reliability and resource consumption.
Practical Extraction and Report Language is a general-purpose, interpreted, dynamic programming languages designed for text processing, used for system administration, web development, network programming, GUI development, and more.
The High Velocity Web Framework For Java and Scala. based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.
An object-relational database management system (ORDBMS), the most developed of open database systems in the world and is a real alternative to commercial databases.
An end-to-end test framework for Angular and AngularJS applications. Protractor is a Node.js program built on top of WebDriverJS. Protractor runs tests against your application running in a real browser, interacting with it as a user would.
It’s a Node.js library which provides a high-level API to control headless Chrome or Chromium or to interact with the DevTools protocol.
Integrated Development Environment (IDE) used in computer programming, specifically for the Python language. It provides code analysis, a graphical debugger, an integrated unit tester, integration with version control systems (VCSes), and supports web development with Django.
A Python testing framework used to create small tests, it makes simple tests very easy to write, it has advanced features (and tons of plugins) that help with more advanced testing scenarios.
Popular general purpose programming language whose philosophy focuses mainly on code readability and maintainability. As a high level, interpreted language, Python is easy to learn for those who want to start coding.
Quality control is a set of activities for identifying and correcting defects and mistakes in the developed, but not released product. QC engineer focuses on testing by performing a program to identify defects.
Customisable software development framework with flexible licensing options. Used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase.
Relational Database Management System is a program that lets you create, update, and administer a relational database. Most relational database management systems use SQL to access the database.
Stans for the relational database management system. RDBMS is a collection of programs and capabilities that enable IT teams and others to create, update, administer and otherwise interact with a relational database.
An ASP.NET programming syntax, a view engine that allows to write mix of HTML and server side code, used to create dynamic web pages with both C# and Visual Basic.
An Objective-C framework for linking and converting sequences of values and Functional Reactive Programming. Allows to write code in a declarative manner rather than imperative.
An object database management system, initially for mobile (Android/iOS), also available for platforms such as Xamarin or React Native, and others, including desktop applications (Windows), and is licensed under the Apache License.
REmote DIctionary Server is a non-relational high-performance database. Redis stores all data in memory, access to data is carried out by the key. This approach provides performance that is tens of times higher than the performance of relational databases, and also simplifies data partitioning.
An Internet hosting service and data warehouse product which is a part of the larger cloud-computing platform Amazon Web Services. It is built on technology of MPP. It can analyze your data using standard SQL and your available BI tools.
A type of software testing aimed at detecting errors in the already tested areas of the source code. When, after making changes to the program, the work ceases to work, which should continue to work.
MySQL, Oracle, Access, MS SQL Server (mostly for Microsoft stack), PostgreSQL, SQLite.
A dynamic, object-oriented, general-purpose programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
Ruby on Rails
Web framework originally developed for 37signals's Basecamp application. It features convention over configuration for rapid prototyping and is currently on version 4.0.
Package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a gem). Designed to easily manage the installation of gems, and a server for distributing them.
Systems programming language sponsored by Mozilla Research, which describes it as a safe, concurrent, practical language, supporting functional and imperative-procedural paradigms. Systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.
An extension to RxJava that allows the scheduler to run code in the main and additional threads of the Android application and provides the transfer of results from the created additional threads to the core for aggregation and interaction with the user interface.
Library for working with asynchronous operations, with special emphasis on multi-valued operations. The library gives the developer a common language they can use to write functional code to manipulate asynchronous streams no matter the stream source.
Java VM implementation of Reactive Extensions is a library for composing asynchronous and event-based programs by using observable sequences. RxJava make writing reactive components in Android applications easy and hassle-free.
A framework for interacting with the Swift reactive programming language. The somewhat difficult-to-handle asynchronous code in Swift becomes much easier and a lot spaner to write with RxSwift.
An extension of CSS. SCSS contains all the features of CSS, but has been expanded to include the features of Sass as well. SCSS (Sassy CSS) is a type of syntaxes available for Sass, being an extension of the syntax of CSS. This syntax is enhanced with the Sass features described below. Files using this syntax have the .scss extension.
Structured Query Language is a programming language used to create, modify, and manage data in a relational database managed by an appropriate database management system.
A relational database management system contained in a C programming library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
SQL Server Analytic Services. Technology from the Microsoft Business Intelligence stack. Provides online analytic processing (OLAP) of data from disparate data sources.
Server-based report generating software system from Microsoft. It is part of suite of Microsoft SQL Server services, including SSAS (SQL Server Analysis Services) and SSIS (SQL Server Integration Services).
Sails.js wraps express and provides another higher level for doing things like connecting to the DB, auto-generating input pages, etc. Especially suitable for creating chat apps or multiplayer games.
Sanity testing is a kind of Software Testing performed after receiving a software build, with minor changes in code, or functionality, to ascertain that the bugs have been fixed and no further issues are introduced due to these changes.
Syntactically awesome stylesheets (Sass) is CSS pre-processor with syntax advancements. Stylesheets in the advanced syntax are processed by the program, and turned into regular CSS stylesheets.
Modern and powerful programming language invented in Switzerland. Scala has full support for functional programming and a very strong static type system. Designed to be concise, many of Scala's design decisions were inspired by criticism of the shortcomings of Java.
Scenario testing is a software testing activity that uses scenarios: hypothetical stories to help the tester work through a complex problem or test system.
The process of testing the security of the functioning of software and hardware, from design to testing of finished products. This process includes risk assessment, vulnerability scanning, code monitoring, stress testing, and iterates these processes.
A tool for automated management of browsers. Selenium is most often used to automate and test web applications. However you can automate any other routine activities performed through the browser.
A class which responds to a particular type of network request - most commonly an HTTP request. Basically servlets are usually used to implement web applications - but there are also various frameworks which operate on top of servlets (e.g. Struts) to give a higher-level abstraction.
Socket programming is a way of connecting two nodes on a network to communicate with each other. One socket(node) listens on a particular port at an IP, while other socket reaches out to the other to form a connection.
A scalable Apache platform for searches of data stored, used for full-text search, hit highlighting, dynamic clustering, database integration, has NoSQL features and rich document handling.
Spring helps development teams everywhere build simple, portable, fast and flexible JVM-based systems and applications. Spring's main aim is to make J2EE easier to use and promote good programming practice. It does this by enabling a POJO-based programming model that is applicable in a wide range of environments.
Lightweight framework that takes most of the work out of configuring Spring-based applications. The goal of Spring Boot is to provide a set of tools for quickly building Spring applications that are easy to configure.
The Spring Web MVC framework provides Model-View-Controller (MVC) architecture and ready components that can be used to develop flexible and loosely coupled web applications. The MVC pattern results in separating the different aspects of the application (input logic, business logic, and UI logic), while providing a loose coupling between these elements.
A visual tool of the appearance and flow of iOS application. It helps us create all the screens of an application and interconnect the screens under one interface MainStoryboard.storyboard. It also helps in reducing the coding of pushing/presenting view controllers.
A kind of software testing that assesses the reliability and stability of the system in conditions of exceeding the limits of normal operation. It better detects the stability, availability and handling of exceptions by the system under heavy load.
Fast and feature-packed text and development editor for Windows, OS X and Linux. Sublime Text is beginner-friendly, you can customize almost any aspect of the sublime editor. Featured by the speed and stability.
The newest programming language from Apple for developing iOS, OS X, watchOS, and tvOS apps. It builds on the best of C and Objective-C, offers better type safety, security, and performance.
A framework for creating websites and web apps in PHP.
System testing is a level of software testing where a complete and integrated software is tested.
Transact-SQL is a procedural extension of the SQL language created by Microsoft and Sybase. The Transact-SQL language is the key to using MS SQL Server. All applications that interact with the instance of MS SQL Server, regardless of their implementation and user interface, send the Transact-SQL instruction to the server.
A Relational Database Management System used for large data warehousing applications, handling large volumes of data, it is highly scalable. This is a large database server that interacts with multiple clients via TCP / IP or through a connection to an IBM mainframe channel.
Test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise a particular program path or to verify compliance with a specific requirement.
An iOS online testing service used to test mobile applications, it allows to invite users to test apps and collect valuable feedback before releasing apps, allows to receive remote logs, crash reports, etc.
Testing is defined as an activity to check whether the actual results match the expected results
A framework build on top of WebGL which makes it easier to create 3D graphics in the browser, it uses a canvas + WebGL to display the 3D scene.
A middleware that allows our action creators to return a function instead of an action object. The thunk can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met. It looks at every action that passed through the system; and if it’s a function, it calls that function.
Open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. Apache Tomcat software powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations.
A template engine for PHP that makes it more object and less messy, it streamlines display logic using less syntax than normal PHP. It offers all necessary features for building templates, as well as flexible lexer and parser, and a sandbox mode to evaluate the template code.
Types of testing
Load, stress, performance, regressional, functional, security, cross-browser, black-box, etc.
User Acceptance Testing is the final stage of testing, and its goal is to touch the functionality of end users for usability and the ability to work with it. After this testing, a decision is made to implement the product.
UFT (Unified Functional Testing)
Unified Functional Testing is a single solution for testing GUIs, APIs and multi-layer apps. HP UFT software automates testing through an intuitive, visual user experience that ties manual, automated, and framework-based testing together in one integrated development environment.v
A lightweight and modular front-end framework that provides the necessary infrastructure to construct and manage iOS and tvOS apps' user interfaces. UIkit gives you a comprehensive collection of HTML, CSS, and JS components which is simple to use, easy to customize and extendable.
A process in programming, allowing to check the correctness of a unit of source code. It is used to write tests for each non-trivial function or method. This allows you to check whether the next change in the code led to errors in the already tested locations of the program.
Visual Basic.NET (VB.NET) is a multi-paradigm, managed, type-safe, object-oriented computer programming language. Along with C# and F#, it is one of the main languages targeting the .NET Framework.
Event-driven programming language from Microsoft. It is now predominantly used with Microsoft Office applications such as MSExcel, MS-Word and MS-Access. Enables building user-defined functions (UDFs), automating processes and accessing Windows API and other low-level functionality through dynamic-link libraries (DLLs).
Stands for Visual Basic Script, a general-purpose, lightweight and active scripting language developed by Microsoft, has a very simple syntax, is the primary scripting language for Quick Test Professional (QTP).
Visual C# is simply Microsoft's implementation of the C# language, along with the IDE and design-time tools used for developing C#.
Integrated development environment (IDE) product from Microsoft for the C, C++, and C++/CLI programming languages. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both trialware and freeware forms.
Fully-featured IDE for Android, iOS, Windows, web, & cloud. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight.
Library for building modern web interfaces. It provides data-reactive components with a simple and flexible API. Vue.js is focused on the ViewModel layer of the MVVM pattern.
State management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion.
Web-engine used by Safari, App Store, and many other OS X, iOS, and Linux applications. Most mobile phones use the WebKit engine.
Java EE application server currently developed by Oracle Corporation. A weblogic domain is a logical group of one or more managed servers and/or an admin server. Setting up of a weblogic environment begins by creation of a domain with these server(s).
A Node.js utility for writing easy Selenium tests in a test framework of your choice. It allows to use asynchronous commands, while the test is run synchronously. WebdriverIO integrates with other tools, can be used in most BDD and TDD test frameworks, and can be extended with helper functions.
Website testing is checking your web application or website for potential bugs before its made live and is accessible to general public. Web Testing checks for functionality, usability, security, compatibility, performance of the web application or website.
A method of testing software. Looks inside the software that is being tested and uses that knowledge as part of the testing process. Tests internal structures or workings of an application, as opposed to its functionality
An open-source content management system based on PHP and MySQL. It is used as a website creation tool and blogging platform, for personal or company’s needs. It has many features including a plugin architecture, publishing tools and a template system.
Cleaner and stricter version of HTML 4.01. invented with respect to the XML standard. (Closing tag for each opening tag, attributes have to have a value, etc.)
A mobile app development platform for building native iOS, Android & Windows apps from a common C#/.NET code base. The platform consists of Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin Test Cloud, and HockeyApp.
A complete developer toolset for creating apps for Mac, iPhone, iPad, Apple Watch, and Apple TV. Brings UI design, coding, testing, debugging, and submitting to the App Store all into a unified workflow.
Data serialization language, a light alternative for XML or JSON. Unlike XML or JSON, however, its structure is defined by indentation. This makes them a joy to use especially for configuration.
Typeful, functional, streaming HTTP for Scala. http4s servers and clients share an immutable model of requests and responses. Standard headers are modeled as semantic types, and entity codecs are done by typeclass.
A mobile operating system for smartphones, electronic tablets, portable players and other devices. Developed and manufactured by the American company Apple exclusively for its own products.
iOS programming languages
A library that aims to make application side effects (i.e. asynchronous things like data fetching and impure things like accessing the browser cache) easier to manage, more efficient to execute, easy to test, and better at handling failures.
Scala Build Tool. An alternative to ANT and Maven made with Scala in mind. Its main features is native support for compiling Scala code and integrating with many Scala test frameworks.