virtual dom testng automation unit testing planning manual testing integration smoke testing library html5 mysql eclipse postman user story functional testing d3.js selenium management software development user interface html cucumber agile methodology sprint planning data structure alignment staff management writing functional requirement test case case javascript jira less java cadence skill