QA Engineering Salaries in San Francisco, CA

What is

QA Engineering

?

QA Engineers ensure that software products meet quality standards before release. They develop and execute tests to identify bugs and improve software quality. Their role is essential for delivering reliable software.


QA engineering professionals design test plans, perform manual and automated testing, and collaborate with developers to resolve issues.

Common titles in 
QA Engineering
  • Software Engineer
  • Associate QA Engineer
  • Automation QA Engineer
  • QA Engineer
  • Senior QA Engineer
  • Testing Coordinator
  • Testing Specialist
  • Testing Manager
  • Senior Testing Manager
  • Software Testing Specialist
  • Senior Testing Coordinator
Salary range for 
QA Engineering
 (
P3
)
 in 
San Francisco, CA
Interested in salary information for other levels?

Decoding job levels: What is a 

P3

?

Pave’s job levels are denoted by their track (P for Professional, M for Management) and their hierarchical level, as denoted by a number. The higher the number, the more senior the role. There are 10 individual levels, broken down as:

Management: M3, M4, M5 & M6
Professional:
P1, P2, P3, P4, P5 & P6

For a full explanation of Pave’s approach to levels visit our FAQ.

Salary comparison for 
QA Engineering
 (
P3
)
 by city

Want to compare salaries across different cities? Here are the average salaries for QA Engineering in major metros across the United States. Ready to view additional percentiles or QA Engineering levels?

Los Angeles, CA
$
106605
$
129000
$
149550
San Francisco, CA
$
130000
$
150000
$
171818
P10
110000
P25
130000
P40
140000
P50
150000
P60
160000
P75
171818
P90
191000
Interested in more salary insights like equity comp or international benchmarks? Book a demo with our team -->
(function (h, o, t, j, a, r) { h.hj = h.hj || function () { (h.hj.q = h.hj.q || []).push(arguments) }; h._hjSettings = { hjid: 2412860, hjsv: 6 }; a = o.getElementsByTagName('head')[0]; r = o.createElement('script'); r.async = 1; r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv; a.appendChild(r); })(window, document, 'https://static.hotjar.com/c/hotjar-', '.js?sv='); !function () { var analytics = window.analytics = window.analytics || []; if (!analytics.initialize) if (analytics.invoked) window.console && console.error && console.error("Segment snippet included twice."); else { analytics.invoked = !0; analytics.methods = ["trackSubmit", "trackClick", "trackLink", "trackForm", "pageview", "identify", "reset", "group", "track", "ready", "alias", "debug", "page", "once", "off", "on", "addSourceMiddleware", "addIntegrationMiddleware", "setAnonymousId", "addDestinationMiddleware"]; analytics.factory = function (e) { return function () { var t = Array.prototype.slice.call(arguments); t.unshift(e); analytics.push(t); return analytics } }; for (var e = 0; e < analytics.methods.length; e++) { var key = analytics.methods[e]; analytics[key] = analytics.factory(key) } analytics.load = function (key, e) { var t = document.createElement("script"); t.type = "text/javascript"; t.async = !0; t.src = "https://cdn.segment.com/analytics.js/v1/" + key + "/analytics.min.js"; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(t, n); analytics._loadOptions = e }; analytics.SNIPPET_VERSION = "4.13.1"; analytics.load("0KGQyN5tZ344emH53H3kxq9XcOO1bKKw"); analytics.page(); } }(); $(document).ready(function () { $('[data-analytics]').on('click', function (e) { var properties var event = $(this).attr('data-analytics') $.each(this.attributes, function (_, attribute) { if (attribute.name.startsWith('data-property-')) { if (!properties) properties = {} var property = attribute.name.split('data-property-')[1] properties[property] = attribute.value } }) analytics.track(event, properties) }) }); var isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); if (isMobile) { var dropdown = document.querySelectorAll('.navbar__dropdown'); for (var i = 0; i < dropdown.length; i++) { dropdown[i].addEventListener('click', function(e) { e.stopPropagation(); this.classList.toggle('w--open'); }); } }