First of all, software testing is considered QA (quality assurance), not QC (quality control). Similar ideas, but QA is done to make sure that a product is correct while it's being designed. QC is done to make sure a manufactured product coming off the assembly line (in other words, after the product design has been done) is good. QC is done for things like computer hardware, cars, canned fruit, etc.
As a brand new tester, you probably wouldn't be expected to do metrics reports. That's more of a team lead or manager job.
The experience you already have is often considered very valuable to a test team, enough so that they're often willing to train people like you on testing because your knowledge will let you contribute insights to a team that others won't have.
For basic, manual software testing, you don't need to know any programming at all. Automated testing requires some programming, but many testing jobs are manual only.
The things you ought to learn/know:
-- the software development lifecycle and QA's role at each stage
-- the difference between a defect (bug) and a design flaw
-- what makes a good test case
-- types of tests
-- what goes into a bug report
-- what goes into a test plan
What to add to your resume? As a tech, you have had to figure out what was causing a problem from the user's description, and then you had to figure out how to fix it. That's very transferrable to software testing, where QA has to isolate the problem and the developers have to figure out the fixes. So highlight that experience.
Also, working with people who are sensitive or frustrated, telling people they're doing something wrong in a non-adversarial, constructive way is another thing that you can point up, since testers do a lot of that.
Have a job or career objective at the top of the resume stating that you want a job as a tester. Maybe add wording saying why you want to switch from hardware tech to software testing.