Virtualization: Virtualization (or virtualisation) is the simulation of the software and/or hardware upon which other software runs. This simulated environment is called a virtual machine . There are many forms of virtualization, distinguished primarily by computing architecture layer. Virtualized components may include hardware platforms, operating systems (OS), storage devices, network devices or other resources.
Big Data: A collection of data sets so large and complex that it becomes difficult to process using on-hand database management tools or traditional data processing applications. The challenges include capture, curation, storage, search, sharing, analysis, and visualization.
ALM: A continuous process of managing the life of an application through governance, development and maintenance. ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management.
Agile: Characterized by quickness, lightness, and ease of movement; nimble. Not necessarily characterized by fast speed.
Agile software development is a software development practice based on iterative and incremental development where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change.
Kanban: Kanban is a method for developing software products & processes with an emphasis on just-in-time delivery while not overloading the software developers. It emphasizes that developers pull work from a queue, and the process, from definition of a task to its delivery to the customer, is displayed for participants to see.,
Offshoring/GSD/DSD: Global Software Development (GSD) is “software work undertaken at geographically separated locations across national boundaries in a coordinated fashion involving real time (synchronous) and asynchronous interaction”.
Distributed development is a software development model in which IT teams spread across geographical lines collaborate on applications or various software. These teams are often separated by mini-projects that are brought together for a final software buildout.
Distributed development is a familiar IT approach, but source code control and other issues of the recent past make it less than ideal. However, modern and advanced Web-based tools and collaborative techniques allow teams to work effectively in a distributed fashion.
Cloud computing: The use of computing resources (hardware and software) that are delivered as a service over a network (typically the Internet). The name comes from the use of a cloud-shaped symbol as an abstraction for the complex infrastructure it contains in system diagrams. Cloud computing entrusts remote services with a user’s data, software and computation.
Testing in the Cloud: Cloud Testing uses cloud infrastructure for software testing. Organizations pursuing testing in general, load, performance testing, and production service monitoring in particular are challenged by several problems like limited test budget, meeting deadlines. High costs per test, large number of test cases, and little or no reuse of tests and geographical distribution of users add to the challenges.
Testing cloud apps: Cloud testing is often seen as only performance or load tests, however, as discussed earlier it covers many other types of testing. Cloud computing itself is often referred to as the marriage of software as a service (SaaS) and utility computing. In regard to test execution, the software offered as a service may be a transaction generator and the cloud provider’s infrastructure software, or may just be the latter. Distributed Systems and Parallel Systems mainly use this approach for testing, because of their inherent complex nature. D-Cloud is an example of such a software testing environment.
SaaS: Sometimes referred to as “on-demand software”, is a software delivery model in which software and associated data are centrally hosted on the cloud. SaaS is typically accessed by users using a thin client via a web browser.
Sources: Wikipedia, Techopedia