Nobody argues about software testing until something breaks in production. Then the argument starts, and it is almost never a technical one. It is about who was supposed to write the test cases, what done was meant to mean, whether the thing users are complaining about is a defect or a change request, and who is paying to fix it.
That is the part most buyers get wrong. Testing feels like a technical service you can buy later. It is actually a set of agreements you needed at the start. The tests themselves are the straightforward bit. The terms around them decide whether a bug costs you nothing or costs you a month of billed work.
So this guide starts there. Then it explains the test types plainly, gives our own figures for what QA work costs in Dubai, and separates what UAE regulation actually requires from what people assume it requires.
Testing is a contract question first
Two teams can run identical tests and end up in completely different places. The difference was written down before the build, not discovered after it.
Here is what that looks like. A client reports that an invoice total is wrong. The developer says the specification never mentioned rounding at line-item level, so this is new work. The client says an invoice that adds up incorrectly is obviously broken. Both are being reasonable. Neither of them wrote down precisely enough what an invoice was supposed to do, and neither wrote down who decides when they disagree.
There is an international standard for testing, and it is worth knowing it exists. ISO/IEC/IEEE 29119 is the software testing standard [1], and it defines a test process covering planning, design, execution and reporting [2]. It is written to be tailored to the project, from a small internal tool up to a regulated system. It does not dictate your contract. But it does mean that a delivery partner who produced no test plan, no test cases traceable to requirements, and no defect log is not merely working informally. They are working outside the structure the international standard describes.
The five things to agree before testing starts
1. Who writes the test cases. The normal split is that developers write and own unit tests, because they know the code. The QA function writes integration and system test cases against agreed requirements. You, or users you nominate, run acceptance testing against your own business scenarios. The failure mode is assuming the developer covers all three. Most do not, and most never said they would.
2. What done means. Write the definition of done for a feature before the sprint that builds it. At minimum: which test levels must pass, what defect severities may remain open at sign-off, and what is handed over besides the code. It works on my machine is not a definition of done. System tests pass, no open critical or major defects, results and a known-issues log delivered, is one you can check against.
3. Severity and priority, as two separate scales. Severity is technical impact. Priority is business urgency. They move independently, and pretending they are the same causes most of the shouting. A rare crash in an admin screen nobody opens this month is high severity and low priority. A misspelled company name on the homepage in launch week is low severity and high priority. Define both scales, and say who rates what. On our projects QA proposes severity, and the product owner and delivery team agree priority together.
4. Defect or change request. This is the clause that saves the most money. A defect is the software not doing what the agreed requirements said it would do, and fixing it is the vendor's job. A change request is new or altered scope, and it is billable. Write both definitions into the contract using examples from your own product. Then write the escalation path for when you disagree, because at some point you will.
5. The warranty window. Agree in writing how long after launch genuine defects are fixed free, and where that period ends. Thirty, sixty or ninety days are all common. What matters more than the number is that the clause exists and separates warranty from ongoing maintenance, which is a paid service that starts when the warranty stops. Our app maintenance guide covers what that costs.
Get those five written down and most testing disputes stop before they start.
The test types, in plain language
Test levels run in a sequence, and each level catches things the one before it cannot [1].
Unit testing checks one small piece of code on its own, normally written by the developer as they build. It catches logic errors early, before they compound. It cannot tell you whether the assembled system works.
Integration testing checks that pieces work together: does the payment module hand off correctly to the order module. It catches interface and data-handoff bugs. If your product connects to other systems, this is where most surprises live, which is why our system and API integration guide treats integrations as their own piece of work rather than one line in a brief.
System testing checks the whole assembled application against requirements, in an environment close to production. It catches what only appears once everything is wired together.
Acceptance testing is the formal gate. The ISTQB Glossary defines it as formal testing with respect to user needs, requirements and business processes, conducted to determine whether the system satisfies the acceptance criteria and to enable the customer to decide whether to accept it [3]. In plain terms, this is where you decide the thing does what you asked for. Write the scenarios before the build. Written afterwards, you test what was delivered rather than what you wanted.
Then there are types that cut across all the levels.
Regression testing is defined by the ISTQB Glossary as testing a previously tested program following modification, to ensure defects have not been introduced or uncovered in unchanged areas of the software [4]. Every release risks breaking something that used to work. This is the type that most rewards automation, because you run it again every single time.
Exploratory testing is defined by the ISTQB Glossary as a technique where the tester actively controls the design of the tests as those tests are performed, using information gained while testing to design new and better tests [5]. A skilled person hunting for trouble without a script finds things no written test case would have thought to check. It cannot be automated, because the value sits in the human adapting in real time.
Performance and load testing measures response times and behaviour under expected and peak use, to find where the system slows or falls over. It says nothing about whether the answers are correct. Fast and wrong is still wrong.
Security testing looks for ways the product could be attacked. OWASP publishes the Top 10, a consensus list of the most critical web application security risks [6], and the Web Security Testing Guide, the methodology reference most real security testing follows [7]. A penetration test is one method inside that discipline, scoped and priced differently from functional QA. We cover it separately in our penetration testing guide.
Accessibility testing checks whether people using screen readers, keyboard-only navigation, or with low vision can actually use the product. The standard is WCAG, published by the W3C Web Accessibility Initiative, with conformance levels A, AA and AAA [8]. W3C notes that when legislation, policies or contracts require WCAG compliance, they almost always mean Level AA [9]. Design decisions drive much of this, which is why it belongs in the design phase rather than the week before launch, and our UI and UX design guide treats it as part of the work.
Manual or automated? The honest answer
Automation is oversold. It costs more upfront, because somebody has to write the scripts and then keep them working, and it only pays back on things you run over and over.
That makes the decision reasonably simple. Automate the checks that repeat: regression suites, the paths that must never break, cross-browser and cross-device checks that run on every release. Keep manual the things that change constantly, the judgment calls about whether a screen makes sense, and the exploratory hunting that finds the bugs nobody scripted [5].
Automating too early is a real and expensive mistake. If the interface is still moving every week, every change breaks the scripts, and you now maintain two products instead of one. Plenty of smaller projects are genuinely better served by disciplined manual testing, with a written test plan and a proper defect log, than by an automation suite nobody updates. That is our operating view rather than a rule from any standards body. No authority publishes a threshold for when automation starts paying back, so treat any specific number you are quoted as an opinion.
What QA costs in Dubai
No government body, regulator or standards organisation publishes rates for QA work. ISO, IEEE, ISTQB, the W3C and OWASP publish standards and methodology, not prices. The figures below are our own, based on what we quote. They are not a market survey.
A focused test pass on an existing build starts from around AED 4,000. That covers a defined scope: a written test plan, test cases across your core flows, execution on your main browsers or devices, and a defect log with severities you can hand straight to your developers.
On projects where QA is planned in from the start rather than bolted on at the end, we typically see it land at around 10 to 15 percent of the build budget. That is our own observation across our own projects, not an industry benchmark.
You will also see a claim that around half of a software project budget goes to testing. We would not repeat it. That figure does not trace to any credible source we could find, and the research it gets attributed to does not say it. There is one genuine government study in this space, the NIST Planning Report 02-3 on the economic impacts of inadequate software testing infrastructure [10]. It was published in 2002, it is an economy-wide estimate for the United States, and it is not a project budgeting rule for anyone.
For context against our published build figures: custom software starts from around AED 15,000 for a focused first version and around AED 60,000 for a fuller system [11]. App maintenance starts from around AED 500 a month [12]. Penetration testing is a separate discipline with its own scoping and its own pricing [13]. QA sits alongside these rather than replacing any of them. Services from a VAT-registered UAE supplier carry the standard 5 percent VAT, and registration is mandatory above AED 375,000 of taxable turnover [14]. Final pricing depends on scope.
The UAE-specific parts
Government platforms have a confirmed accessibility baseline. The UAE National Policy for Digital Accessibility sets requirements for government digital platforms [15], and the official UAE Government Portal states that it is designed to meet WCAG 2.1 and 2.2 Level AA as a minimum [16]. If you are building for or selling into a government entity, assume that bar and test against it.
For private-sector software, we could not confirm a general requirement. We found no UAE federal or Dubai law in this research that mandates a specific software testing regime, or WCAG conformance, for private commercial software generally. We are saying that plainly rather than claiming it is required or claiming it is not. If accessibility or testing conformance affects a contract you are bidding for, read the tender documents and take your own legal advice.
Financial services are the confirmed exception, and only them. The Central Bank of the UAE requires licensed financial institutions to maintain technology and information security risk frameworks that include testing obligations, covering annual penetration testing and quarterly vulnerability assessments [17]. That applies to CBUAE-licensed entities such as banks, payment service providers and stored-value facility licensees. It is not a general rule for software companies or apps, and anyone extending it to your product is stretching it.
How to tell whether your partner is actually testing
Ask for the artefacts. A real test process produces a test plan, test cases you can trace back to requirements, a defect log with severities, and a summary report against agreed exit criteria before sign-off [2]. If none of those exist, testing probably meant one person clicking through the feature once.
Two more useful questions. Ask which test levels they run and who runs each one. Ask what happens to a defect found after launch, and get the answer in writing. A partner who answers both clearly is showing you their process. A partner who says they test everything thoroughly has told you nothing.
Certification is worth a mention. ISTQB is the recognised international qualification body for software testers and publishes a structured syllabus for testers to be examined against [18]. It is a reasonable baseline signal that someone has been assessed against a common body of knowledge. It is not a guarantee of quality on your specific product, and plenty of excellent testers do not hold it. Use it as one input, not a filter. Our guide to choosing an app development company in Dubai applies the same logic to credentials generally.
Real client stories
These are anonymised situations from projects we have worked on.
The automation suite that cost more than the bugs. A client came to us with a test automation suite built early in their product's life. The interface had changed several times since, and most failures were scripts breaking rather than the product breaking. Their team had started ignoring the results, which is worse than having no suite at all. We cut it back to a small set of stable checks on the flows that genuinely must not break, and moved the rest to a written manual test plan run before each release. Release confidence went up and QA time went down.
The manual pass that was the right answer. A small business platform with a handful of screens and one release a month was quoted an automation project by another party. On that release cadence, the scripts would have taken longer to write and maintain than the manual runs would ever take to execute. We ran a focused manual test pass instead, with a proper plan and a defect log, and left them with test cases their own team could re-run. Automation was simply the wrong tool for the shape of that product.
The defect that was a change request. A client and their previous developer spent weeks arguing about a reporting screen. The client believed it was broken. The developer believed it did exactly what the specification described. Both were right, because the specification was ambiguous and nobody had defined who decides. Now, on every project, we agree the definition of a defect and the definition of a change request in writing before the build, using examples taken from that client's own product.
How SKIMBOX approaches QA
We would rather settle the contract questions first. We offer a written test plan before testing starts, severity and priority scales agreed with you rather than handed to you, acceptance scenarios written before the build so you are testing what you asked for, and a defect log you keep. We will also tell you when automation is not worth it for your product, because that is the honest answer more often than the industry admits.
A focused test pass on an existing build starts from around AED 4,000. On projects where QA is planned in from the start, we typically see it land at around 10 to 15 percent of the build budget, which is our own observation rather than an industry benchmark. Final pricing depends on scope.
See our product engineering services and app development services, or contact us to talk through what your product needs.
For related reading, see our guides on custom software development cost in Dubai and mobile app development cost in Dubai.
References
[1] ISO - ISO/IEC/IEEE 29119-1:2022, Software and systems engineering, Software testing, Part 1: General concepts. iso.org/standard/81291.html
[2] ISO - ISO/IEC/IEEE 29119-2:2013, Software testing, Part 2: Test processes. iso.org/standard/56736.html
[3] ISTQB Glossary - acceptance testing. glossary.istqb.org/en_US/term/acceptance-testing/1
[4] ISTQB Glossary - regression testing. glossary.istqb.org/en_US/term/regression-testing/1
[5] ISTQB Glossary - exploratory testing. glossary.istqb.org/en_US/term/exploratory-testing/1
[6] OWASP - OWASP Top 10, the standard awareness document for web application security risks. owasp.org/www-project-top-ten/
[7] OWASP - Web Security Testing Guide. owasp.org/www-project-web-security-testing-guide/
[8] W3C Web Accessibility Initiative - Web Content Accessibility Guidelines (WCAG) overview. w3.org/WAI/standards-guidelines/wcag/
[9] W3C Web Accessibility Initiative - WCAG 2 Level AA conformance. w3.org/WAI/WCAG2AA-Conformance
[10] NIST - Planning Report 02-3, The Economic Impacts of Inadequate Infrastructure for Software Testing, published 2002. nist.gov/el/economic-impact-studies
[11] SKIMBOX - Custom software development cost in Dubai, our own commercial figures. skimbox.co/resources/blogs/custom-software-development-cost-dubai
[12] SKIMBOX - Mobile app maintenance cost in Dubai, our own commercial figures. skimbox.co/resources/blogs/mobile-app-maintenance-cost-dubai
[13] SKIMBOX - Penetration testing and VAPT in Dubai, our own commercial figures. skimbox.co/resources/blogs/penetration-testing-vapt-dubai
[14] Federal Tax Authority, UAE - Value Added Tax, standard rate of 5 percent and the AED 375,000 registration threshold. tax.gov.ae
[15] TDRA, UAE - National Policy for Digital Accessibility. tdra.gov.ae
[16] U.AE Official UAE Government Portal - Digital accessibility statement, WCAG 2.1 and 2.2 Level AA as a minimum. u.ae/en/footer/accessibility
[17] Central Bank of the UAE - Rulebook, technology risk and information security requirements for licensed financial institutions. rulebook.centralbank.ae
[18] ISTQB - International Software Testing Qualifications Board, Certified Tester syllabus. istqb.org



