Last week I wrote about what is testing and how much is enough. This week's post will be about a few types of tests used by testers. There are many types of tests out there but there are a few main ones that I can think of right now including compatibility, regression, acceptance, alpha, beta, and performance testing.
Compatibility testing tests for a software's ability to run consistently well with other applications, and on many different operating systems, or browsers. in other words this is a way to see if a software will work on a PC, Mac, or tablet in the way it is intended to, or if the product is a website if it will work well in IE, Firefox, Safari, Chrome, etc.
Regression testing is done after a tester has submitted bugs and the programmers have come up with a fix for it and the tester goes into the system again and looks for bugs in the area that the original bug was found. This is done to make sure that the improvements have not created any new bugs in the system, and that the solution to the original bug actually solved the problem.
Acceptance testing is done to ensure that the requirements or specifications of the product are met, and in the case of software this can be done through performance testing which is done to see how a software performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
Alpha and beta testing are actually interconnected as Alpha testing is what is done at the developer's site by testers to see if it's ready for release. Beta testing is usually done after Alpha testing and is when the company releases a sort of 'demo' version of the software to the public to see if ordinary users can find any additional bugs in the system.
Wednesday, July 30, 2014
Wednesday, July 23, 2014
What is Testing + how much is enough?
Since I wrote about bugs last post it's natural to move on to the question 'What is Testing?'.
Software testing is an objective investigation into a software or computer system before it is implemented in order to see if it meets all of it's expectations and is ready to be released or not.
The reason the software developers don't test their products is mainly because of the lack of objectivity, and they may not want to find anything wrong with their creation on a subconscious level.
Thought finding bugs is what testers do the tester's job is not to prove that a software is full of problems but if the system meet's all of the client's expectations. No matter how much test a tester will do there will always be bugs that will escape the tester's eyes. The ISTQB book Foundations of Software Testing briefly explains that exhaustive testing is impossible, meaning that it is impossible to detect every single bug for multiple reasons.
I may post an article later on reasons why exhaustive testing is impossible but there are a few main reasons. Main reasons include the fact that the testers will not always be able to test the software in the same way ordinary user would, There isn't enough time or resources to test everything, and that the bugs may exist in areas that the customer didn't feel needed testing as they were unimportant (ex: grammar/spelling).
Finally in terms of how much testing is enough that question has no definite answer and it is in fact mostly determined by how much time and money that the client has given you, and even this can vary greatly from client to client.
Software testing is an objective investigation into a software or computer system before it is implemented in order to see if it meets all of it's expectations and is ready to be released or not.
The reason the software developers don't test their products is mainly because of the lack of objectivity, and they may not want to find anything wrong with their creation on a subconscious level.
Thought finding bugs is what testers do the tester's job is not to prove that a software is full of problems but if the system meet's all of the client's expectations. No matter how much test a tester will do there will always be bugs that will escape the tester's eyes. The ISTQB book Foundations of Software Testing briefly explains that exhaustive testing is impossible, meaning that it is impossible to detect every single bug for multiple reasons.
I may post an article later on reasons why exhaustive testing is impossible but there are a few main reasons. Main reasons include the fact that the testers will not always be able to test the software in the same way ordinary user would, There isn't enough time or resources to test everything, and that the bugs may exist in areas that the customer didn't feel needed testing as they were unimportant (ex: grammar/spelling).
Finally in terms of how much testing is enough that question has no definite answer and it is in fact mostly determined by how much time and money that the client has given you, and even this can vary greatly from client to client.
Thursday, July 17, 2014
Some basic facts on Bugs
Just felt like I should start out the first serious post giving an explanation on what exactly a bug is.
First of a bug is defined by Wikipedia as "an error, flaw, failure, or fault in a computer system or program that causes it to produce an incorrect or unexpected result." There are many kinds of bugs, and they can have varying effects from minor grammar errors, to big bugs that can crash computers and cost tons of money or even lives. A recent example of a major bug was last year when the affordable care act was implemented here in the US and the website that was built came across all sorts of problems due to inadequate testing. This is of course why software testing is seen as an essential job.
Errors are usually the most common type of bug, and are created by either the developers, or by a user entering an incorrect value in the software. It can be easy to remember this by remembering the phrase 'human error'.
Failures, and faults are bugs that are caused by the software itself.
Wikipedia defined failures and faults as "A fault is defined as an abnormal condition or defect at the component, equipment, or sub-system level which may lead to a failure." while "A Failure is the state or condition of not meeting a desirable or intended objective." Basically failures are caused by faults or defects in the system.
Lastly the term 'bug' has apparently been used for over a century to describe mechanical or engineering problems. But when I first started out learning about software bugs I heard that the first computer bug was discovered at Harvard in the late 1940's when computers were giant things that took up entire rooms, and it was a moth that got into the computer. It was a literal 'bug' in the system which is kind of funny, and a lot easier to fix.
Below is a link to an image of this legendary first bug.
http://en.wikipedia.org/wiki/Software_bug#mediaviewer/File:H96566k.jpg
First of a bug is defined by Wikipedia as "an error, flaw, failure, or fault in a computer system or program that causes it to produce an incorrect or unexpected result." There are many kinds of bugs, and they can have varying effects from minor grammar errors, to big bugs that can crash computers and cost tons of money or even lives. A recent example of a major bug was last year when the affordable care act was implemented here in the US and the website that was built came across all sorts of problems due to inadequate testing. This is of course why software testing is seen as an essential job.
Errors are usually the most common type of bug, and are created by either the developers, or by a user entering an incorrect value in the software. It can be easy to remember this by remembering the phrase 'human error'.
Failures, and faults are bugs that are caused by the software itself.
Wikipedia defined failures and faults as "A fault is defined as an abnormal condition or defect at the component, equipment, or sub-system level which may lead to a failure." while "A Failure is the state or condition of not meeting a desirable or intended objective." Basically failures are caused by faults or defects in the system.
Lastly the term 'bug' has apparently been used for over a century to describe mechanical or engineering problems. But when I first started out learning about software bugs I heard that the first computer bug was discovered at Harvard in the late 1940's when computers were giant things that took up entire rooms, and it was a moth that got into the computer. It was a literal 'bug' in the system which is kind of funny, and a lot easier to fix.
Below is a link to an image of this legendary first bug.
http://en.wikipedia.org/wiki/Software_bug#mediaviewer/File:H96566k.jpg
Friday, July 11, 2014
Post number 1!!:D
Greetings aspiring QA software, and game testers!!
Any one whom is reading this post is looking at the first one on this blog!
So this first post is going to be about me and my experience in QA testing. First off I am a 25 year old UC Irvine alumni, and I am an avid marathon runner.
As far as my experience in testing goes, I have been a QA tester at a small testing company in Santa Monica for about a year, and as a kid I took part in some game testing. When I first got the idea of being a tester I had originally found a job posting on craigslist asking for temporary QA testers at Square Enix's office in El Segundo. I felt that it would be an awesome opportunity to play games and get paid to do it so I signed up for an interview right away, didn't get the job, but then my dad suggested to try this small start up company in Santa Monica and after initial resistance to the idea I decided to try it out and I was hired!
When I went through some free mandatory training and gained the basic skills needed to work in the industry. So I got the idea of making this blog when I watched a you tube video where a famous tester named James Bach gave a lecture about testing and how to gain a reputation, and amongst his tips was that a lot of known software testers have a blog. I decided to start this blog to share what I've learned and a few interesting bugs that I come across.
So things that you can expect to see being posted to this blog will be basic facts, and info in QA testing, and bugs that I have/ will find. Also I am currently trying to study for the International Software Testing Qualification Board's (ISTQB) certification exam. It's supposedly not a required thing to be certified but it helps in getting jobs so I will also post some notes I take on the subject.
Enjoy!
Any one whom is reading this post is looking at the first one on this blog!
So this first post is going to be about me and my experience in QA testing. First off I am a 25 year old UC Irvine alumni, and I am an avid marathon runner.
As far as my experience in testing goes, I have been a QA tester at a small testing company in Santa Monica for about a year, and as a kid I took part in some game testing. When I first got the idea of being a tester I had originally found a job posting on craigslist asking for temporary QA testers at Square Enix's office in El Segundo. I felt that it would be an awesome opportunity to play games and get paid to do it so I signed up for an interview right away, didn't get the job, but then my dad suggested to try this small start up company in Santa Monica and after initial resistance to the idea I decided to try it out and I was hired!
When I went through some free mandatory training and gained the basic skills needed to work in the industry. So I got the idea of making this blog when I watched a you tube video where a famous tester named James Bach gave a lecture about testing and how to gain a reputation, and amongst his tips was that a lot of known software testers have a blog. I decided to start this blog to share what I've learned and a few interesting bugs that I come across.
So things that you can expect to see being posted to this blog will be basic facts, and info in QA testing, and bugs that I have/ will find. Also I am currently trying to study for the International Software Testing Qualification Board's (ISTQB) certification exam. It's supposedly not a required thing to be certified but it helps in getting jobs so I will also post some notes I take on the subject.
Enjoy!
Subscribe to:
Posts (Atom)