Software Quality is a much talked about and much debated subject in the Software industry. Importance of Quality Assurance and the actual need is still widely debated. Today, we look at three simple steps for Software QA!
First of all, What is a Requirement?
A Requirement is documented functional need that needs to be performed in an orderly and methodical manner.
At least that’s my view of it. Software Quality Assurance begins (or is initiated) with these Requirements. All through in the software development lifecycle the Quality assurance engineer (QA Engineer) will refer this requirement to determine if the product meets the expectations functionally and non-functionally. So as I see it Requirements are a very big deal in the software development lifecycle. so, by default it is a key area in the QA Engineers role in the development team.
2. Testing, Testing and Testing
Testing! a major part in software quality assurance. A normal day of a QA Engineer would be testing all day! Testing has many major components and many different testing styles. On point number 1 we discussed about the requirement. Testing is verifying those requirements. Testing should be done in a methodical way.
- Create Test cases according to the requirement.
- Execute those test cases (functional, non-functional, performance, stress or load testing)
By doing so the QA Engineer must verify that;
- the product is according to the specified requirement
- Functions properly without any unwanted errors
- Meets the client expectations
- is user friendly?
Software Testing is a broad subject which we will talk about in details later (watch out for updates…).
3. Issue Reporting (Bugs!!!)
If you thought Testing was important this is his Twin Brother! Issues (or Bugs as we like to call it), are a common thing in the software development life-cycle. Software is developed by humans and humans make mistakes all the time. As a QA Engineer, testing the system and finding these bugs, reporting them and tracking them to closure is the most important task. Bugs can be a common thing in any development team and to track these to closure we have bug tracking tools. I have listed some below;
- Request Tracker
- Apache Bloodhound
So, There we have it in three simple steps. Just to recap, Requirement is key. Product testing is important and should be done as delicately as possible. Issue reporting and tracking them to closure. Please do comment and share your ideas on this. If an update is required… we will see.