Beschreibung
Aufgabenstellung:
The required services consist of:
- Testing software applications for the ALMA project according to ALMA standards and processes.
- Regularly interacting with developers and science users to collect and understand the user requirements.
- Producing test cases, plans, and reports.
- Analyzing test results, and investigating the root causes in collaboration with the developers.
- Maintaining the existing automated test suites.
- Defining, and maintaining effective test environments. (Platforms used are Linux and Mac OS.)
Erf. Kenntnisse:
The ideal consultant is a software test engineer with sufficient experience in software testing, test automation, requirements analysis, and testing of web and desktop GUI applications. He or she will be able to conduct manual testing, and implement fully automated tests. Testers are expected to write documentation of test tools and environments, as well as test case descriptions and test reports. The candidate must be familiar with modern software development and test methodologies, standard software engineering practices, have good knowledge of Java programming, Scripting languages (eg UNIX Shell, Python, Groovy), and software build tools.
Essential skills include:
- Proven experience testing Java Desktop GUIs under Linux and/or Mac OS
- Proven experience testing dynamic web applications, including JavaScript-centric single page applications
- Sufficient programming experience in Java, especially writing and improving comprehensive test cases
- Proven experience with relational databases and designing SQL queries
- Proven experience in the use of testing tools like Selenium or QF-Test
- Good knowledge of test automation
- Good knowledge Scripting languages, preferably Groovy and/or Python
- Sufficient exposure to version control systems, preferably Git
- Very good command of the English and language
- Very good oral and written communication skills
- Team spirit and eagerness to learn and understand complex operational environments
- Customer orientation and a strong sense for quality development
Nice to have:
- Knowledge of Unit test frameworks like Junit or TestNG
- Knowledge of general purpose software testing techniques (equivalence partition, combinatorial, pair-wise, boundary conditions, etc.)
- Knowledge of JavaScript
- Experience in the use of continuous integration systems (eg Jenkins)
- Knowledge of administering Linux