? QA Design Gurus: QA
Showing posts with label QA. Show all posts
Showing posts with label QA. Show all posts

Dec 27, 2015

Mobile App Testing with Telerik Test Studio

Over the last few years, Mobile Applications development has grown exponentially. QA needs to ensure that every mobile application meets high quality. Testing mobile applications is complex and difficult compared to desktop and web applications. In mobile world, with frequent OS upgrades, new devices support, it is really complex to test mobile apps and to automate testing.
We will be able to solve these kind of issues with Telerik Test Studio Mobile.


It allows developers to write automated functional tests in JavaScript using a set of APIs we devised to make the process as easy as possible. With Test Studio, we can run automated tests on real devices as well as emulators. All we need to do is to install Mobile Testing agent on the devices we need to test. Agent will take care of connecting mobile device to our test studio script.

Aug 31, 2015

Metrics needed to measure the quality of the product in Agile

One of the most important things in Software projects is measuring the quality of Software. Here are few metrics that we follow in our company and which plays an important role in measuring our software's quality.

Stories committed vs Stories delivered
The ability of teams to meet their commitments on schedule and with the highest standards. Failing to deliver at right time causes delays and rework.

Quality across sprints
QA doesn't have time and resources to test each and every build in sprint. So, one of the major metrics is automation within the sprint. The feature/story delivered in sprint should be automated in same sprint.

Defect Age (Bug cycle time)
It is known fact that the fixing code at one place affects other. Also, we have a famous saying that "A Stitch in-time saves nine". Fixing a bug in time saves many regression.

Defect Density
A straight forward metric to measure the defects that were introduced vs the new lines of code written. All kinds of defect metrics can be used to calculate defect rate of the product. A good defect
rate target should lead to a release-to-release reduction in the total number of defects.

Customer Satisfaction
It is a good practice to consider Customer's perspective. While fixing, there might be few defects which are not valid or major in our perspective like documentation and usability bugs. These increases customer problems.

Code Coverage
A good code coverage metrics is also a measure for the quality of the product.


Aug 10, 2015

Bug Bash – Having other people test your Software




Bug Bash is a unique test activity in Software QA, rarely used by testing teams. Not many people are aware as to what is a bug bash, and why it is used.


From Wikipedia, a Bug Bash is a procedure where all the developers, testers, program managers, usability researchers, designers, documentation folks, and even sometimes marketing people, put aside their regular day-to-day duties and “pound on the product”- that is, each exercises the product in every way they can think of.


The way we do Bug Bash in our company is – teams are given a day to play with any feature in our product (mostly all new features being released). People will start off the day with plenty of enthusiasm and excitement and provide feedback at the end of the day to the team.


Benefits of Bug bash include:
  • Team who have built/tested a feature would always like someone else to have a look at it prior release, it will get them honest, unbiased feedback which is very valuable before the release, it also saves lot of time and money for the project teams.
  • Each person’s perspective is different from other. They think differently and so test differently. Despite QA owner’s best efforts in reviewing feature functional spec, deciding and writing test cases, a new person can come in and find a bug by trying something that you never even considered—hitting a different key, clicking the mouse faster, starting a function in a different way, and so on.
  • Watching how someone else approaches a problem is a great way to learn new testing techniques. There are always new and different approaches to testing that you can know.
  • Users performing this activity will also build knowledge about the features being built in the organization.

May 4, 2015

My experiences as a QA in adopting AGILE



Here are my experiences as a test engineer in adopting the AGILE approach:
Initially when i was working in Waterfall model, our QA work for a feature completely depends on the functional specification written by developer. We used to consider that document as the main reference. Based on that, we used to write a detailed test plan and start testing the feature once the whole feature is available to us. Then write automation tests before the regression cycle begins for a release.

When our company, switched to AGILE model, the first question that raised in my mind is "How can QA engage effectively during a sprint before anything has been built?". Scrum is an Agile approach to software development, which focuses on delivering valuable business features in short development iterations of 2 to 4 weeks (In our case, it 3 weeks).  After working a few years as a QA in a Scrum team, I have learned that the role of QA in Scrum is much more than just writing test cases and reporting bugs to the team.

In initial days of scrum, I used to think daily stand-ups are nothing but wasting time and seriously, i used to see AGILE approach as A-JAIL. The concentration in scrum is on what to tell instead of the work being done. Also, the information being shared in scrum is well known by everyone. We know who is working on which feature, but why do we need a separate 15 min meet to just know a statement saying “working on so and so”. Yes, its more than the status. Team shares the detailed status where QA can know the details of the feature and the impediments being raised and what is stopping developers from continuing the work.

Here are few things i learned.
  • In Waterfall model, QA involves at the end of development. But, in AGILE, QA will be involved right from the very beginning of a project. 
  • Working together - Scrum team is a cross-functional team where development, QA, platforms and documentation teams work together as a team. 
  • QA, the first and ever customer - I always used to think that QA is the first customer of the product and QA knows well about the product more-than development team who typically focuses on the “happy path” of the feature. Since, QA excels at identifying and capturing complex and negative test case scenarios. Including testers during Release and Iteration Planning, when user stories are estimated, QA can help the team think beyond the happy path. 
  • Helping Product Owner - QA role provides feedback from their testing experience to the Product Owner and work closely with the Product Owner to help them develop detailed acceptance criteria for their user stories. QA can also help the Product Owner modify or enhance existing user stories to better reflect the true requirements. 
  • Fast feedback – Developers can consult the QA about acceptance criteria or the expected behavior of any functionality from the user's perspective while working on the feature, which results in saved testing and bug fixing cycles.  
  • Automation, QA’s best friend - In scrum (3 weeks), QA generally have less time to test the application. Also they are responsible for testing the feature implemented in current sprint as well as regression testing the feature implemented in last sprint. In such short cycles, automation is the best friend for QA (as alwaysJ). It helps to reduce the pressure QA feels. 
  • Participation in Release readiness - With short sprint cycles, developers have less time to explore the complete functionality of their user stories on their own. As a result, developers typically consult with QA to better understand the user stories since they are the ones aware of the complete functionality and know each and every requirement and acceptance criteria. As a result, it is a good practice for QA to perform the demo at the Sprint Review meeting. 
  • Preparing test strategies - Scrum believes in preparing only enough documentation to support the immediate needs of the team. As such, QA will prepare just enough high-level documentation for test strategies and plans to guide the team. 
  • Sometimes it may not be possible to perform testing of non-functional aspects, such as system performance, within a sprint. This can taken once after the development sprints complete.
 
While QA still write tests and report bugs, they also support many other roles and responsibilities on the team. They are an important part of the team. 

Having worked as QA in AGILE team, i have learned many things, it has added many wonderful skills to my toolbox and has helped me learn how to play many different roles.

Apr 3, 2015

How do we measure product/project's health? - Importance of BugReports

Is it based on the no of bugs existing in your product? If so, how can we prepare our product to make it bug free or releasable.

Do you collect bug reports for you project? Then how often do you do?

Bug reports are important for any software development. It is a good practice to collect bug reports. In our company, this is one of the good practices we follow, collecting bug reports.

Collecting bug reports helps both development and quality teams to track down and fix bugs in product. These reports improves the quality of final product. They helps to prepare product launch. Until all the P0, P1 and P2 defects are fixed, the project is not ready to ship.

The analysis of the data collected helps in understanding more about a particular set of problems or tests. Also helps in understanding and reporting the overall level of quality.

Finally, defect reports, when analyzed over a product/project and even across projects, give information that can lead to development and test process improvements.