ALM (Application Lifecycle Management):
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.
There are many source control tools, and they are all different. However, regardless of which tool you use, it is likely that your source control tool provides some or all of the following basic features:
- A place to store your source code.
- A historical record of what you have done over time.
- A way for developers to work on separate tasks in parallel, merging their efforts later.
- A way for developers to work together without getting in each others’ way.
The act of scripting or automating a wide variety of tasks that software developers do in their day-to-day activities including things like:
- Compiling computer source code into binary code.
- Packaging binary code.
- Running tests.
- Deployment to production systems.
- Creating documentation and/or release notes.
The implementation of a continuous processes of applying quality control—small pieces of effort, applied frequently. Continuous Integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development.
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit testing is often automated but it can also be done manually. This testing mode is a component of Extreme Programming (XP), a pragmatic method of software development that takes a meticulous approach to building a product by means of continual testing and revision.
Test Case Manager (TCM):
A tool designed for software test engineers to organize test cases for storage and execution logging. Test cases are written in a standard format and saved into the system. Test cases can be organized by level (Smoke, Critical Path, Acceptance Criteria, Suggested), by area (GUI breakdown, installation, data, etc.), by status (pass, fail, untested, etc.), or other breakdown criteria. Once test cases are built, testers use TCM to track and report success or failure of test cases. TCM provides an unlimited number of central, multi-user databases, each of which will support an entire test team. TCM is intended for use by small to midsize software development companies or organizations.
The ability to link product documentation requirements back to stakeholders’ rationales and forward to corresponding design artifacts, code, and test cases. Traceability supports numerous software engineering activities such as change impact analysis, compliance verification or traceback of code, regression test selection, and requirements validation.
Any type of automated software testing that seeks to uncover new software bugs, or regressions, in existing functional and non-functional areas of a system after changes, such as enhancements, patches or configuration changes, have been made to them.
Smoke testing is non-exhaustive software testing, ascertaining that the most crucial functions of a program work, but not bothering with finer details. The term comes to software testing from a similarly basic type of hardware testing, in which the device passed the test if it didn’t catch fire the first time it was turned on. A daily build and smoke test is among industry best practices advocated by the IEEE (Institute of Electrical and Electronics