Below are few guidelines which can be followed by testing team while working in a CI-CD environment.
Jenkins :
- Any tests which run on the latest version of the code should be scheduled to be triggered from the latest dev checkin.
- Any tests which run against the QA environment should be triggered based on a schedule
- Tests should be set up to run on our single server .
- Once you have added your test to jenkins, don't ignore it. Keep an eye on it. If a build has suddenly turned red, either raise a bug or if it is failing due to compilation error / other reason work to fix the test.
- All builds must have a ReportNG report linked on the front page
SVN :
- Rather than updating one file at a time, make sure that you update the full project in order to avoid missing files or changes
- Likewise don't commit one file at a time as small changes in other classes / config files can be easily missed
- After you have checked in, check the related builds in Jenkins for any compile errors or new test failures - even if it has run ok locally, other peoples checkins might interfere
Writing test cases in Java :
- Ensure that all tests are given a meaningful name, that makes it clear what is being tested in a method. E.g. noNullPrices() rather than testPrices()
- Use TestNG rather than JUnit
- Ensure standard java naming conventions are used - http://www.javatpoint.com/java-naming-conventions
- camelCase() for method names and variables
- no underscores _
- Method and class names should be descriptive.
- Avoid relying on System.out.println. This fills up logs. If a test has passed, this will never be looked at. If at test has failed, it is better to create a report and link to it from jenkins.
- Every test must be added to a testsuite which is scheduled in jenkins. A test which is not running is useless!
- If you have any code which is reusable, add it to the CommonFramework - e.g. reading files
- NEVER comment out someone else's code - if it causes you compile errors, check with team
- Avoid commenting lines out. Just remove them. SVN gives us the ability to retrieve old versions.
Informative Blog!!!
ReplyDeleteDocker Training
Docker Online Training
Excellent Blog! I would Thanks for sharing this wonderful content.its very useful to us.
ReplyDeleteI gained many unknown information, the way you have clearly explained is really fantastic.keep posting such useful information.
Full Stack Training in Chennai | Certification | Online Training Course
Full Stack Training in Bangalore | Certification | Online Training Course
Full Stack Training in Hyderabad | Certification | Online Training Course
Full Stack Developer Training in Chennai | Mean Stack Developer Training in Chennai
Full Stack Training
Full Stack Online Training