Showing posts with label CI/CD. Show all posts
Showing posts with label CI/CD. Show all posts

Friday, August 26, 2022

Drivers for tool selection

 Drivers for tool selection

1.lower opex

2. Faster payback/break even

3. Faster script build

4. Faster script run -execution and maintenance 

5. Most technology supported

6. Better % automation

7. Easier to skill

8. Faster to scale

9. Easier end to end automation

10. No manual script creation

11. Industrialisation of testing




Friday, October 9, 2020

Command to check version of softwares

 Hey Guys,

Recently i needed to check the versions of installed most of the time, so i thought to list down commands on finger tips.

  • Java
    • java -version
  • nodeJS
    • node -v
    • npm -v
  • newman
    • newman -version
    • install command : npm install -g newman
  • Allure reports
    • allure --version
  • maven
    • mvn -version
  • Jenkin
    • install command: java -jar Jenkins.war

Regards,

TJ

Wednesday, July 22, 2020

Test Automation cycle in Agile

Agile Automated Testing quadrants

Q1- Automated- unit

Q2 -Requirements- business focus

Q3- Manual – feedback of Q1 and Q2 and starting for automated testing

Q4- Tools - Non functional requirments

 

Agile Automated Testing plan

  • For each release of application
  • Testing scope
  • Feature complexity tst coverage
  • Test new functionality
  • Performance and load testing
  • Infrastructure review
  • Available resources
  • Mititgation or risk plan
  • Deliverables and milestone of testing

 

Agile Automated testing life cycle

  1. Iteration 0- initial setup identify resource,install tools, scheduling etc- ,
  2. construction iterations
  3. Release end game- system and acceptance testing
  4. Production

 

Agile automated testing risks

  1. Cost to build and maintain
  2. Does not replace exploratory manual testing
  3. Unreliable tests or unclear user stories
  4. Relying on macro-recording test
  5. Part of continuous integration process
  6. Inadequate test plan
  7. Missing setup/tear down scripts
  8. High level of maintenance
  9. Metrics may be misleading
  10. Lack of automated testing expertise
  11. Team collaboration is crucial
  12. Focusing on the valuable features

 

Agile and Devops Test automation

Agile vs. Devops principles

  • Agile- speed of deployment, while in devops-team specialization
  • Agile focus on creating vs deploying software while devops focus on communication vs documentation
  • Devops relies on documentation, while agile will be scheduling timeframe or meetings
  • Agile teams are small, devops many teams collaborate to large team
  • Agile focus not on automation, devops focus on automation

 

Devops test automation factors

  • Management of test data
  • Steering parameters
  • Test servers and virtualization
  • Dedicated test user accounts
  • Continuous testing and integration
  • High degree of communication required among teams

 

Test automation and Dev-Ops

  • Supports continuous development
  • Coordination required amongst stakeholders
  • All processes must be automated

 

Dev-Ops test automation best practices

  • Set achievable expectations
  • Ensure test automaton is adopted
  • Assign dedicated resources
  • Decide on a starting point
  • Include automation testing in definition of done
  • Review and adapt

 


Soap UI- Integrating Soap UI and CI/CD process and Jenkin

Integrating Soap UI and CI/CD process

  • New item> enter name “build project” free style project > click save
  • Go to dashboard
  • New item> enter name “test project” freestyle  and click save
  • Go to dashboard
  • New item> enter name “deploy project” freestyle and click save
  • Go to dashboard
  • Click on build project> click on configure> source code management> build tab> build> execute shell (command pre return code in command ) and continue
  • Go to dashboard
  • Click on deploy project> click build> execute windows batch command and command enter pre code and save
  • Go to dashboard
  • Click test project> click build > execute shell and prerun code and save
  • Go to dashboard
  • Build project> configure> post build action> build other pojrect> test project> save
  • Go to dashboard
  • Test project>configure>post build action>build other project>deploy project>save

 Soap UI and Jenkins

  • Click on project folder contains WSDL file and APIs and test suits
  • Right click on test case>launch test runner and default setting and launch, click the cancel and copy project directory path and paste in notepad
  • Next Soap UI test runner- copy file command and paste in notepad remove till cmd c:
  • Launch cmd, cd desktop
  • Java -jar Jenkins.war
  • Jenkin fully up and running message and launch web browser and with local host 8080
  • New item>jenkinsoapuidemo, build> execute windows batch command, past e the directory path and command, live the first line with c: and
  • Go to dashboard
  • Build now

 


Wednesday, April 15, 2020

Integration of testcomplete with Jenkin

Integrating Test complete with jenkin can be in following way

•By using the TestComplete support plugin. – most convenient way
•By using the special SessionCreator command-line utility that is shipped along with TestComplete.
•By running TestComplete from the command line.

Pre requisite
Test complete must be available on jenkin node
Test complete license should be accessible from jenkin node

Run TestComplete tests in Jenkins
  1. Install the TestComplete support plugin. In jenkin- manage jenkin>manage plugin>switch available tab>testcompletesupport plug in and install without restart
  2. Prepare jenkin node
    1. Enable remote desktop connection, configure group policies, and do a few more preparatory actions
    2. Configure slave computers as Jenkins nodes and launch the slave agent. For complete information
  3. Add your TestComplete tests to Jenkins builds -You can add your TestCompletetests in Jenkins by using Freestyle Jobs or Pipelines

Test results
After the build is finished, you can view the results of your TestComplete tests in Jenkins on the build page. To do this open the build page in your browser and click TestComplete Test Results in the menu on the left

Export results
With TestComplete, you can export test results in various formats: tcLogX or .mht and JUnit report

Reference by support of smart bear and credit goes to them.

Friday, January 25, 2019

Continuous Integration

Continuous Integration 

Continuous Integration (CI) is the process of automating the build and testing of code every time a team member commits changes to version control. ... CI emerged as a best practice because software developers often work in isolation, and then they need to integrate their changes with the rest of the team's code base.

CI is devops software development practice where developers regularly merge their code changes in central repository after which automated builds and tests are run.

 

Advantage of CI
improve quality
early bug finding
reduce time to validate n release app updates
fast feedback on changes

 

Tools used for CI

TFS, Jenkin, Azure

 

Team Foundation Server aka TFS is a Microsoft product which is serves as a SCM tool like Git. It also has features like reporting, project management, automated builds, testing and release management capabilities. It covers entire lifecycle, and enables DevOps capabilities. TFS can be used with numerous IDE including Visual Studio and Eclipse on all platforms.

It also provides the features of implementing both CI and CD. It has the feature of Build Management which includes build process management and automating build triggering. It supports good number of automated build triggers such as scheduled build, Continuous Integration trigger, trigger, etc

Bamboo

Bamboo is a continuous integration (CI) server that can be used to automate the release management for a software application, creating a continuous delivery pipeline.

Jenkins 
Jenkins is an open source automation tool written in Java with plugins built for Continuous Integration purpose. Jenkins is used to build and test your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build

Team City

TeamCity is a Java-based build management and continuous integration server from JetBrains. It was first released on October 2, 2006.TeamCity is commercial software and licensed under a proprietary license. A Freemium license for up to 100 build configurations and 3 free Build Agent licenses is available.

Difference between Jenkins and TeamCity

Both Jenkins and TeamCity are continuous integration tools that serve many of the same purposes. Jenkins is an open source tool, while TeamCity is a proprietary offering from JetBrains.

The big difference between Bamboo vs Jenkins is that Jenkins is Open Source – it's free. Integration with JIRA and Bitbucket is limited. ... There are only 100 Bamboo plug-ins in the Atlassian environment compared to Jenkins which has over 1000.

note:  All references taken from google.