Summary: Design, develop, maintain and administer the software suites of automated tests to assure the quality of new/existing functionality and performance of large-scale web applications, services, tools, and/or software on the regular basis. Support continuous integration process, improvement and innovation in a highly agile software development environment. Software developer in testing works closely with other developers and engineers to discuss scope, increase the code coverage, report the software defects to be rectified/corrected, and review the test reports with the team to improve software quality. Compiles and analyzes metrics based on testing activities and generates testing status reports during the testing phase.
Job Duties: Write test plans, test strategy, test suites and test cases (automated). Design, develop and maintain software test suites for browser based web applications to perform functional, integration and end-to-end testing using programming languages such as JAVA, Python, Ruby or C# and Selenium WebDriver API and Selenium grid. Working experience with data-driven testing frame work using Selenium WebDriver API, TestNG framework (and JUnit), Apache POI and external files based on page object model. Working experience with HTML, CSS, XPATH and JavaScript. Working with build automation and configuration tools such as Apache Maven and ANT, and continuous integration tools such as Jenkins. Conducting Performance Tests such as load and stress testing to gauge the application performance based on scalability, reliability and resource usage using Apache JMeter. Automate the API/Web services for SOAP and REST – using SoapUI, RESTful with Jersey, Apache HTTP Client, Postman etc. Working with different file formats such as XML JSON, CSV and parsers such as Json Parser. Working with Java-based logging utility such as Apache Log4j. Working with distributed source control systems such as Git. Debugging and troubleshooting problems in Linux/Unix based application servers using Unix commands and shell scripting and checking application logs. Automate the verification/validation process for configuration, and application deployment using Ansible. Performing backend database testing by means of automation (Java-JDBC) and/or also manually querying using relational databases such as Oracle, MySQL or PostgreSQL (object-relational database system). Setting up test reports generation and automatic emailing using Jenkins. Tracking the bugs and defects in bug tracking tool such as JIRA. Working with different IDEs such as Eclipse and IntelliJ. Identify opportunities for improved software development lifecycle by tracing the code coverage and constantly collaborating the testing efforts, and verifying the defect or bug fix/correction. Using white-box testing strategies, application code reviews, application logs and/or Splunk for monitoring, and analyzing, trouble shooting the application errors. Coordinating and collaborating with team to discuss scope, limitations, testing blocks, code review and results of testing during Scrum and other team meetings. Assisting with triaging process and escalating high priority issues. Giving presentation to show the progress of work, and discuss and improvise test strategy with the team and customers. Propose/Suggest application UI changes for more user-friendly experience for the end-users. Documenting test plan, test case and test reports.
ANY GRADUATE