Software development is the important process involving various steps and processes and also includes the collaborative effort of the various persons including the Managers, Developers, Testers and so on. Software development starts from the stage of Planning to the Production. Thus it is not the one step process and requires a lot of effort from everyone working for the project. During the process of software development, lots of other tools and software are used. Here I’m going to list out some of the tools used in the Software development process.
- RDBMS (Relational DataBase Management System) Tools
Relational DataBase Management System (RDBMS) is the database system based on the relational model explained by Edgar F. Codd who is considered as the father of the modern relational database design. This system helps us create, update and enter into the relational database. The term “Relational” denotes the “Relation” among the data inside the database, which we can access using the SQL query and other methods. Existence of the database means there will be multiple tables, thus this system allows to using the multiple tables using the data relations. In the databases, tables will be created with primary/foreign key defined and using those keys we can create the linkage between different tables.
Based on the worldwide scenario at present, there are some of the most popular RDBMS tools, some of them are listed as follows:
- Oracle Database
- Microsoft SQL Server
- MySQL (Oracle)
- IBM DB2
- IBM Informix
- SAP Sybase Adaptive Server Enterprise
- SAP Sybase IQ
- Teradata
- NETEZZA
- ETL (Extract Transform Load) Tools
ETL denotes for Extraction, Transform, load of the database functions. The basic phenomenon that ETL tools works on is that they combine those three database functions and work as a single tool to extract data from one database, transform them as per the requirement and load into the another database.
Usually Extraction refers to the reading of the data from a particular database.
Transformation means transforming the extracted data and changing it to make it ready to be loaded into another database. During transformation data can be changed using the functions and logic or can be combined with other data. During this step, datamarts and data warehouse are created with those data.
Loading refers to the process of moving the transformed data into the another data (source to target).
Following are the major ETL tools which are more popular:
- Informatica
- Ab Initio
- DataStage
- SQL Server Integration Services (SSIS)- Microsoft
- Statistical Analytical Service (SAS)
- BI (Business Intelligence Reporting) Tools
Business Intelligence tools are the tools which read data from data warehouse or the datamart, analyze them and create the report from that. For a company it is very much essential to keep the track of the information and data which are generated from their day to day activities. Which help them to analyze their business and also help in the decision making. From the software development prospective, when the software goes into the production, these tools can be helpful for the data analysis and easy access of the data. The company can use the BI tools to do their business analysis, statistical analysis, market research and many more.
There are some of the popular business Intelligence tools, basically termed as Reporting tools which are listed as follows:
- MicroStrategy Analytics
- SAP Business Object
- IBM Cognos Business Intelligence
- SAP Crystal Report
- OBIEE- Oracle
- SAP Business Intelligence
- Oracle Hyperion System
- Oracle Business Intelligence Enterprise Edition (OBIEE)
- SAS Business Intelligence
- Defect Tracking Tools
Defect are the integral part of the Software Development process. During the software development, there might be some shortcomings in the code and they might not fulfill the business requirement. Thus while testing, system testers will go with the every scenarios for the system. They in fact break the system and test it in all dimension. During such process they will find some issues with the code which will be tracked as the defects.
Defect tracking tools are simply the tools which keeps the record of the defects, reports them, manages them and track them. In these tools the defect goes into the defect life cycle from “New/Opened” to “Closed” state. After the defect is raised, developer or the analyst fix them and testers retest them and closed it if it has been fixed, if not they will reopen the defect.
A defect tracking tool is a vital component of the software development and helps in maintaining the quality of the software development process.
Following are the most popular Defect Tracking tools in the market these days:
- Bugzilla
- JIRA
- HP ALM(Application Lifecycle Management)/Quality Center
- IBM Rational ClearQuest
- Mantis
- Trac
- Redmine
- FogBugz
- Job Scheduling Tools
Job scheduling tools are the tools that helps to schedule and/or monitor the batch jobs/ETL jobs automatically. These tools helps to run the particular job which is prepared using the scripts or the job control language. Human inputs are also important for the job scheduling too. Before running the job via the Scheduling tools, there are certain parameter files which needs to be correctly updated. These parameter files contains the information about the source database, target database, schema name, batch date, Target server location and so on.
There are some really useful job scheduling tools which are widely used these days. Some of them are listed as followings:
- Autosys
- Control M
- Data Flux
- Automation Testing Tools
Automation Testing tools are the tools that helps in controlling the execution of the test and also helps in the comparison of the Expected outcomes with the actual outcomes. The use of these tools helps in running the some repetitive tests which needs to be ran during the manual testing. And also these tools helps in testing the functionality which seemed difficult to perform manually.
The difference between Automated testing and manual testing is that whatever functionality which are performed manually are done through the coding process. That means the test cases are written in the form of the source code which, when run, creates the output just as the manual testing results.
Below are the some of the popular Automation Testing tools:
- Selenium
- Quick Test Professional (QTP)
- SilkTest
- SoapUI
- TestComplete
- Performance Testing Tools
Performance testing tools are the tools for measuring the performance and load stress of the Web based application. Main scope of these tools is to ensure the quality performance of the the application during the peak hours and extreme stress condition. These tools creates the Production like workload in the System Under Test and the during the load, which way the application reacts with the load will be measured.
Below is the list of the commonly used Performance Testing Tools:
- Load Runner
- Silk
- IBM Rational Performance Tester
- LoadStorm
- LoadImpact
- JMeter
- StressTester
- LoadManager