
DevOps, software testing and quality engineering
DevOps joins software development and IT operations so that changes reach users quickly, safely and repeatably. Arke Technologies, in Johannesburg, sets up DevOps pipelines, automated software testing and quality assurance for South African organisations, public bodies and schools, on Azure DevOps, AWS or Google Cloud.
What is DevOps? Meaning and practices
DevOps is a way of working in which the people who build software and the people who run it share one process, one set of tools and one goal: reliable change. The DevOps meaning is in the name, development plus operations, but the practice is specific.
- Version control for code, database migrations, infrastructure and configuration.
- Continuous integration (CI): every change is built and tested automatically.
- Continuous delivery (CD): tested changes reach production through an approved pipeline with a rollback.
- Infrastructure as code: cloud services defined in files and reviewed like code.
- Monitoring and blameless reviews: production feedback, and fixing the process rather than blaming a person.
So what does a DevOps engineer do? A DevOps engineer builds and runs the path from a developer's change to production: pipelines, environments, secrets, monitoring and release automation. In many mid-sized organisations that is one person, so we document every pipeline to outlive any one engineer.

DevOps with Azure, AWS and Google Cloud
Most organisations run DevOps on the cloud they already use; AtlasOS, our own platform, runs on Google Cloud (visit the AtlasOS site (opens atlaspractice.app)).
| Platform | Tooling | Best fit |
|---|---|---|
| Azure DevOps | Azure Boards, Repos, Pipelines, Test Plans and Artifacts in one service | Microsoft-centric organisations that want planning, code, pipelines and test management together |
| DevOps on AWS | CodePipeline, CodeBuild and CodeDeploy, with CloudFormation or the CDK for infrastructure as code | Workloads already running on AWS |
| Google Cloud | Cloud Build, Cloud Deploy and Artifact Registry, with Cloud Run and Firebase App Hosting | Serverless and container workloads |
DevOps with Azure makes sense when identity, collaboration and some workloads already sit with Microsoft, and DevOps on AWS when the workloads run there. We set up the platform you already own and keep pipelines portable. See Microsoft Azure, AWS and Google Cloud.

The software development life cycle (SDLC) and its phases
The software development life cycle (SDLC) is the sequence of stages software passes through from idea to retirement; its practical meaning for a buyer is that every stage produces something to review. The software development life cycle phases, or stages, are:
01.
Planning
goals, scope, budget, risks and who decides.
02.
Requirements
what the system must do, for whom, and under which rules, from POPIA to your own policies.
03.
Design
architecture, data model, interfaces and security controls.
04.
Development
code written in short cycles, reviewed and kept in version control.
05.
Testing
unit, integration, system and acceptance testing against the requirements.
06.
Deployment
release to production through a controlled pipeline.
07.
Maintenance
support, fixes, updates and, eventually, retirement.
Software development life cycle models decide how those phases are arranged.
| Model | How it runs | Suits |
|---|---|---|
| Waterfall | Each phase finishes before the next starts | Fixed, well-understood scope, such as a regulated interface |
| V-model | Waterfall with a test level planned against each design level | Safety- or compliance-critical systems |
| Iterative and incremental | The system grows in planned slices | Large systems delivered in releases |
| Spiral | Repeated cycles, each driven by risk analysis | High-risk, novel projects |
| Agile (Scrum or Kanban) | Short cycles of working software, reprioritised often | Products whose needs will change |
| DevOps | Agile delivery extended into continuous release and operation | Software that changes and runs every day |
Agile software development: methodology, manifesto and Scrum
Agile software development builds software in short cycles, shows it to users often and adjusts as the team learns. By definition, the agile software development methodology puts working software and collaboration ahead of heavy up-front plans. The Manifesto for Agile Software Development (2001) sets out four values, backed by twelve principles: individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan.
Agile software development and Scrum usually go together. Scrum runs the agile software development process in sprints of one month or less: a product owner orders the backlog, the team commits to a sprint goal, and each sprint ends with a review and a retrospective. Kanban, the other common agile software development model, runs work as a continuous flow.
| Question | Waterfall | Agile |
|---|---|---|
| Plan | Fixed up front | Refined every sprint |
| Delivery | One release at the end | Working software every sprint |
| Change | Formal change request | Expected, and ordered in the backlog |
| When risk surfaces | Late, in testing | Early, at each review |
For public-sector and enterprise buyers who must buy against a fixed scope, agile software development vs waterfall need not be a choice: the contract fixes outcomes, milestones and budget, the backlog inside it is agile, and scope changes go through change control.

Software testing types
Software testing checks that software does what it should and nothing it should not. The types of testing in software testing fall into levels (how much of the system is tested at once) and purposes (what is being checked).
| Type | What it checks | When it runs |
|---|---|---|
| Unit testing | The smallest pieces of code, such as a function, in isolation | On every change, automated |
| Integration testing | That components work together: code and database, service and API | On every change, automated |
| System testing | The whole application against its requirements | Before each release |
| System integration testing (SIT) | End-to-end data flow between your systems: ERP, payment gateway, SARS or CIPC interfaces | Before release, in a staging environment |
| Functional testing | That each feature meets its requirement | Throughout development |
| Regression testing | That existing features still work after a change | On every change, automated |
| Smoke testing | That a new build's critical paths work at all, before deeper testing | After every build or deployment |
| User acceptance testing (UAT) | That the system meets business needs, confirmed by the people who will use it | Before go-live, with sign-off |
| Beta testing | Behaviour with real users in real conditions | Before general release |
| Performance testing | Speed and stability under load (load testing), with large data volumes (volume testing) and beyond limits (stress testing) | Before launch and before known peaks |
| Security testing | Vulnerabilities such as the OWASP Top 10, weak authentication and exposed data | In the pipeline and before launch |
Testing techniques in software testing describe how test cases are designed. Black box testing works from the requirements without looking at the code, using methods such as boundary values. White box testing works from the code, to cover branches and paths; loop testing, a white box technique, runs each loop zero, one and two times, a typical number of times, and at and just beyond its maximum. Security testing ends in a penetration test before personal information goes live.
Quality assurance in software testing
Quality assurance (QA) is the discipline that prevents defects: standards, reviews, a definition of done and a process that makes quality repeatable. Testing, strictly quality control, finds defects in a particular build. So what is QA in software testing? It is the frame around the tests: deciding what to test, how thoroughly, with which data, and what evidence a release must produce before it ships. Quality engineering goes a step further and builds those checks into the pipeline, so every change is tested automatically.

Test strategy, test plans and test cases
A software testing strategy sets the approach for a whole product: which testing types apply, what is automated and who signs off. A test plan in software testing applies it to one release, and test planning in software testing starts with the requirements. Our test plan template for software testing covers:
Scope: what is and is not being tested.
Approach: the testing types and techniques, and what is automated.
Environments and test data: masked or synthetic data, never live personal information.
Entry and exit criteria: when testing starts and what "done" means.
Roles, schedule and sign-off.
Risks and defects: how defects are logged, prioritised, fixed and retested.
Test cases in software testing are the individual checks inside the plan. A test case in software testing names a precondition, the steps, the data and the expected result, so anyone who runs it gets the same answer. Two test cases in software testing as examples:
| ID | Test case | Steps | Expected result |
|---|---|---|---|
| TC-014 | Invoice total with VAT | Create an invoice with two lines of R1,000 ex VAT | Total shows R2,300 incl. VAT |
| TC-015 | Access control | A learner account opens a staff-only report link | Access refused, and the attempt logged |
Software testing automation and tools
Software testing automation runs repeatable checks by machine on every change. Test automation in software testing follows the testing pyramid: many fast unit tests, fewer integration tests and a few end-to-end tests. Automated software testing tools are chosen to suit the stack. Common choices:
- Unit and integration: the test runner native to the language, such as Jest or Vitest for TypeScript and pytest for Python.
- Browser end-to-end: Selenium, the long-established standard, or Playwright and Cypress for newer web applications. Software testing with Selenium still suits large cross-browser suites.
- Load testing software: Apache JMeter or k6, to simulate concurrent users and data volumes.
- Security: static code analysis and dynamic scanning against OWASP guidance.
Software testing automation tools do not replace people. Exploratory testing, usability and UAT need human judgement, and an automated suite is only as good as the test cases in it.

How we deliver DevOps and quality engineering
01.
Assess
We review how code reaches production today: version control, branching, builds, tests, environments, release approvals and recent incidents.
02.
Put everything under version control, including database migrations, which we number and keep additive so a release never breaks what already works.
03.
Build the CI gate
Every change must pass compilation or type checks, automated tests and a production build before it can merge.
04.
Automate testing, starting with regression tests on the workflows that matter most, then widening coverage.
05.
Automate delivery, with staged environments, recorded approvals for production and a tested rollback.
06.
Monitor
Errors and performance are measured in production, with a health check after every deployment.
07.
Report
A quality report covering build and test pass rates, defects found and escaped, and the four DORA delivery measures: deployment frequency, lead time for changes, change failure rate and recovery time.
The assessment is quoted per project and prices each later step before you commit. Published South African rates for IT project work run from about R550 to R750 an hour ex VAT (matnet.co.za, September 2026); the number of pipelines, environments and test suites decides the hours.
Last reviewed: September 2026.
The same discipline covers our SaaS products, web applications, mobile apps and legacy modernisation work, within our custom software development practice.
DevOps and software testing certifications
DevOps certifications show that an engineer knows a platform's tooling; they do not replace a working pipeline. The main ones:
- AWS certification for DevOps: AWS Certified DevOps Engineer – Professional.
- Microsoft DevOps certification: Microsoft Certified: DevOps Engineer Expert, through exam AZ-400.
- Software testing certification: the ISTQB Certified Tester scheme, from Foundation Level upwards.
A DevOps certificate counts alongside delivered work, not instead of it. We hire for experience, education and certifications, in step with the contracts we sign. If your tender asks for named, certified staff, the proposal names them.

Governance, compliance, procurement and continuity
Governance and reporting. Every change is traceable from request to code, test evidence, approval and release. You receive a monthly quality report, and ongoing support runs under an SLA with a monthly service review, change control and escalation paths written into the agreement.
Compliance. Auditors test change management as an IT general control; a pipeline that records every approval produces that evidence for PFMA and MFMA audit and King IV Principle 12 reporting. Test data is masked for POPIA, under ISO/IEC 27001-aligned secure development controls.
Procurement. Level 1 B-BBEE contributor (sworn affidavit available on request), which gives buyers 135% procurement recognition. Company documents, CSD supplier number and tax compliance status are available on request, and we complete SBD forms when a bid requires them. See company facts.
Continuity. Pipelines, scripts, test suites and documentation live in your repositories and cloud accounts. You own your data, credentials and documentation, and nothing depends on our access once we hand over.
Frequently asked questions
What is DevOps? Show answer Hide answer
DevOps is a way of working that joins software development and IT operations into one process, so changes reach users quickly, safely and repeatably. It combines version control, continuous integration and delivery, automated testing, infrastructure as code and production monitoring. The result is smaller, more frequent releases that are easier to test, approve and roll back.
What is Azure DevOps? Show answer Hide answer
Azure DevOps is Microsoft's service for planning work, hosting code, running build and release pipelines, and managing tests. It includes Azure Boards, Repos, Pipelines, Test Plans and Artifacts, and runs in the cloud or on your own servers as Azure DevOps Server. It suits organisations already standardised on Microsoft 365, Entra ID or Azure.
What are the phases of the software development life cycle? Show answer Hide answer
The software development life cycle usually has seven phases: planning, requirements, design, development, testing, deployment and maintenance. Each phase produces an output that can be reviewed, such as a requirements specification, an architecture, tested code or a release. Waterfall runs the phases once in order, while agile and DevOps repeat them in short cycles.
What is agile software development? Show answer Hide answer
Agile software development builds software in short cycles, shows working software to users often and adjusts the plan as the team learns. It follows the values of the 2001 Manifesto for Agile Software Development and is most often run with Scrum, using sprints of one month or less, or with Kanban as a continuous flow of work.
What is regression testing in software testing? Show answer Hide answer
Regression testing re-runs existing tests after a change to confirm that features which worked before still work. A fix in one module can break another, so regression tests run automatically on every change in a well-run pipeline. They are the first tests worth automating, because they repeat on every release and cover the workflows the business relies on.
What is UAT in software testing? Show answer Hide answer
UAT, user acceptance testing, is the final test stage, in which the people who will use a system confirm that it meets their business needs before go-live. It runs against real scenarios in a staging environment, with test data rather than live personal information, and ends in a formal sign-off. It checks fitness for purpose, not code quality.
What is the difference between QA and testing? Show answer Hide answer
Quality assurance prevents defects, while testing finds them. QA sets the standards, reviews, definition of done and release criteria that make quality repeatable across a team. Testing, or quality control, checks a particular build against its requirements. Both are needed: testing without QA finds the same kinds of defect again and again.
Which DevOps certification is best: AWS or Microsoft? Show answer Hide answer
The best DevOps certification is the one that matches the platform you run. AWS Certified DevOps Engineer – Professional suits teams on AWS, and Microsoft Certified: DevOps Engineer Expert (exam AZ-400) suits Azure and Azure DevOps. For testers, ISTQB Certified Tester is the widely recognised software testing certification. None replaces evidence of delivered pipelines.
Make every release a safe one
Tell us how your software reaches production today. We will show you where the risk sits and how to test, automate and control it.