Difference Between DevOps, Software Developers and Software Testers

Source: Internet
Author: User
Keywords devops or developer what is devops testing devops management software
Software developer-the person who makes the software
Software tester-a tool to ensure that the software can run according to user needs and requirements
Devops (Development and Operations)-Allows software distribution from developers to testers/end users to maintain the infrastructure needed to keep development and testing running properly.

It can be said that the software we write is like a car. Then, the workers who make the parts and assemble them together are developers, and the people who use the car and make sure that the car works properly are the testers, such as the test driver and the person who crash-tests the finished product. Now, DevOps can ensure that the factory has the ability to operate, and can transfer the vehicle's driving range from each factory to the test driver and showroom.

from this angle,

The software developer will be:

Use Architect's proposed Tech Stack (programming language, platform, database, etc.) to obtain requirements and designs and put them into operation in software applications.
They will ensure that each program can run normally, in other words, they will "unit test" the program/code.
Ensure that the application can handle the expected amount of data/load and operate normally when overloaded.
Fix any "defects" or "defects" found by the tester (please read the "Tester" section below).
Developers (development and operations) will:

Get the source code from the common repository used by the software development team and build it as a package.
Use software tools to export software packages to distribution platforms, such as Google Play Store/Apple App Store/IBM MaaS 360/VMware Air Watch, etc.
Establish and maintain the infrastructure required by development and test teams.
Automate the construction, packaging and deployment of Software to the required distribution platform.
Software testers are those

Get the working/stable version from the distribution platform and test it.
During the test, they will verify that the software meets the agreed requirements and conditions.
Subject the software to various user loads, invalid inputs, and strange resource conditions (network failure, insufficient memory, low battery, and long idle time), and ensure that the software can handle them properly.
If the software cannot handle or miss any request, the tester will raise an "error" or "defect" and notify the developer.
Use automated tools to automate some/all possible tests.

DevOps is not a real job or role. DevOps is a mentality and a method that can improve coordination and collaboration between two different disciplines (development and operations). I have seen more and more companies publish job description trends with the title of "DevOps Engineer". You may need someone to set up automation that supports DevOps, and then call that person your DevOps engineer. This may be someone with a background in software development or operation. This is indeed a mixed role, you need to understand these two disciplines, and there are very few such people. The most likely scenario for this situation is that in very small early-stage startups, people must play multiple roles.

I have been engaged in operations for about 15 years, and then engaged in software development for 10 years. I know how different skill sets are, and why in many organizations, the priorities and requirements of each group may be disputed, so DevOps initiative is needed to enable them to work together smoothly.

So, to answer this question:
DevOps is a mixed role, requiring skills and experience in software development and system management and operations.

Software developers are programmers who develop software.

A software tester is a person who confirms that the developed software meets the requirements and quality levels established by product management. Good software testers pay attention to details and may have very limited knowledge of software development. In some cases, they may participate in automated testing, in this case, they are professional software developers, we usually call them software testing engineers.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.