QA and software testing are confusing terms because both methods aim to offer bug-free software that works smoothly. The basic difference is QA is a process of preventing software from bugs whereas software testing comprises techniques and ways to discover bugs in software.