Levels of testing (Week 8)

There are
different levels in a testing  process. Levels of testing include different methodologies which can be used during
the process of software testing. There are two main levels of testing :
functional testing and non-functional testing. One of my
previews posts talks about black-box testing, functional testing
is a type of black-box testing which is based on the specifications of the
software that has to be tested. The software can be tested by providing input
and then the results are examined in order to conform to the functionality
which it was meant for. Functional testing of a software is conducted on a
complete, integrated system to evaluate the system’s compliance with its
specified requirements. 
Functional testing includes five steps : 
Step 1 The
determination of the functionality that the intended application is 
intended to perform.
Step 2 The
creation of test data based on the specifications of the application.
Step 3 The
output based on the test data and the specifications of the application.
Step 4 The
writing of test scenarios and the execution of test cases.
Step 5 The
comparison of actual and expected results based on the executed test cases.
In order to have an effective testing process
all the above steps have to be followed and applied to the testing
policies of every organization for this reason it will make sure that the
organization maintains the strictest of standards when it comes to software
quality.
This part is about testing an application from its non-functional
attributes. Non-functional testing includes testing a software from the
requirements which are nonfunctional.  Performance, Security, User
interface are some requirements examples of non-functional testing. Performance
testing is one important and mandatory testing type in terms of the following: Speed, Capacity, Stability and Scalability. Performance
testing can be either qualitative or quantitative. Security testing includes
testing a software in order to identify any gaps from security.


Security testing should ensure the below list of features: 

Confidentiality, Integrity, Authentication, Availability, Authorization, Non-repudiation, Software
data is secure, Software is according to all security
regulations, Input checking and validation, SQL insertion
attacks, Injection flaws, Session management issues, Cross-site
scripting attacks, Buffer overflows vulnerabilities and Directory
traversal attacks.
The levels of testing are important because in order to meet the functional and technical specifications  we have to follow all the steps and features that I listed above. 

Citation
https://www.tutorialspoint.com/software_testing/software_testing_levels.htm

From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

Levels of testing (Week 8)

There are
different levels in a testing  process. Levels of testing include different methodologies which can be used during
the process of software testing. There are two main levels of testing :
functional testing and non-functional testing. One of my
previews posts talks about black-box testing, functional testing
is a type of black-box testing which is based on the specifications of the
software that has to be tested. The software can be tested by providing input
and then the results are examined in order to conform to the functionality
which it was meant for. Functional testing of a software is conducted on a
complete, integrated system to evaluate the system’s compliance with its
specified requirements. 
Functional testing includes five steps : 
Step 1 The
determination of the functionality that the intended application is 
intended to perform.
Step 2 The
creation of test data based on the specifications of the application.
Step 3 The
output based on the test data and the specifications of the application.
Step 4 The
writing of test scenarios and the execution of test cases.
Step 5 The
comparison of actual and expected results based on the executed test cases.
In order to have an effective testing process
all the above steps have to be followed and applied to the testing
policies of every organization for this reason it will make sure that the
organization maintains the strictest of standards when it comes to software
quality.
This part is about testing an application from its non-functional
attributes. Non-functional testing includes testing a software from the
requirements which are nonfunctional.  Performance, Security, User
interface are some requirements examples of non-functional testing. Performance
testing is one important and mandatory testing type in terms of the following: Speed, Capacity, Stability and Scalability. Performance
testing can be either qualitative or quantitative. Security testing includes
testing a software in order to identify any gaps from security.


Security testing should ensure the below list of features: 

Confidentiality, Integrity, Authentication, Availability, Authorization, Non-repudiation, Software
data is secure, Software is according to all security
regulations, Input checking and validation, SQL insertion
attacks, Injection flaws, Session management issues, Cross-site
scripting attacks, Buffer overflows vulnerabilities and Directory
traversal attacks.
The levels of testing are important because in order to meet the functional and technical specifications  we have to follow all the steps and features that I listed above. 

Citation
https://www.tutorialspoint.com/software_testing/software_testing_levels.htm

From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

Levels of testing (Week 8)

There are
different levels in a testing  process. Levels of testing include different methodologies which can be used during
the process of software testing. There are two main levels of testing :
functional testing and non-functional testing. One of my
previews posts talks about black-box testing, functional testing
is a type of black-box testing which is based on the specifications of the
software that has to be tested. The software can be tested by providing input
and then the results are examined in order to conform to the functionality
which it was meant for. Functional testing of a software is conducted on a
complete, integrated system to evaluate the system’s compliance with its
specified requirements. 
Functional testing includes five steps : 
Step 1 The
determination of the functionality that the intended application is 
intended to perform.
Step 2 The
creation of test data based on the specifications of the application.
Step 3 The
output based on the test data and the specifications of the application.
Step 4 The
writing of test scenarios and the execution of test cases.
Step 5 The
comparison of actual and expected results based on the executed test cases.
In order to have an effective testing process
all the above steps have to be followed and applied to the testing
policies of every organization for this reason it will make sure that the
organization maintains the strictest of standards when it comes to software
quality.
This part is about testing an application from its non-functional
attributes. Non-functional testing includes testing a software from the
requirements which are nonfunctional.  Performance, Security, User
interface are some requirements examples of non-functional testing. Performance
testing is one important and mandatory testing type in terms of the following: Speed, Capacity, Stability and Scalability. Performance
testing can be either qualitative or quantitative. Security testing includes
testing a software in order to identify any gaps from security.


Security testing should ensure the below list of features: 

Confidentiality, Integrity, Authentication, Availability, Authorization, Non-repudiation, Software
data is secure, Software is according to all security
regulations, Input checking and validation, SQL insertion
attacks, Injection flaws, Session management issues, Cross-site
scripting attacks, Buffer overflows vulnerabilities and Directory
traversal attacks.
The levels of testing are important because in order to meet the functional and technical specifications  we have to follow all the steps and features that I listed above. 

Citation
https://www.tutorialspoint.com/software_testing/software_testing_levels.htm

From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

Levels of testing (Week 8)

There are
different levels in a testing  process. Levels of testing include different methodologies which can be used during
the process of software testing. There are two main levels of testing :
functional testing and non-functional testing. One of my
previews posts talks about black-box testing, functional testing
is a type of black-box testing which is based on the specifications of the
software that has to be tested. The software can be tested by providing input
and then the results are examined in order to conform to the functionality
which it was meant for. Functional testing of a software is conducted on a
complete, integrated system to evaluate the system’s compliance with its
specified requirements. 
Functional testing includes five steps : 
Step 1 The
determination of the functionality that the intended application is 
intended to perform.
Step 2 The
creation of test data based on the specifications of the application.
Step 3 The
output based on the test data and the specifications of the application.
Step 4 The
writing of test scenarios and the execution of test cases.
Step 5 The
comparison of actual and expected results based on the executed test cases.
In order to have an effective testing process
all the above steps have to be followed and applied to the testing
policies of every organization for this reason it will make sure that the
organization maintains the strictest of standards when it comes to software
quality.
This part is about testing an application from its non-functional
attributes. Non-functional testing includes testing a software from the
requirements which are nonfunctional.  Performance, Security, User
interface are some requirements examples of non-functional testing. Performance
testing is one important and mandatory testing type in terms of the following: Speed, Capacity, Stability and Scalability. Performance
testing can be either qualitative or quantitative. Security testing includes
testing a software in order to identify any gaps from security.


Security testing should ensure the below list of features: 

Confidentiality, Integrity, Authentication, Availability, Authorization, Non-repudiation, Software
data is secure, Software is according to all security
regulations, Input checking and validation, SQL insertion
attacks, Injection flaws, Session management issues, Cross-site
scripting attacks, Buffer overflows vulnerabilities and Directory
traversal attacks.
The levels of testing are important because in order to meet the functional and technical specifications  we have to follow all the steps and features that I listed above. 

Citation
https://www.tutorialspoint.com/software_testing/software_testing_levels.htm

From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

Levels of testing (Week 8)

There are
different levels in a testing  process. Levels of testing include different methodologies which can be used during
the process of software testing. There are two main levels of testing :
functional testing and non-functional testing. One of my
previews posts talks about black-box testing, functional testing
is a type of black-box testing which is based on the specifications of the
software that has to be tested. The software can be tested by providing input
and then the results are examined in order to conform to the functionality
which it was meant for. Functional testing of a software is conducted on a
complete, integrated system to evaluate the system’s compliance with its
specified requirements. 
Functional testing includes five steps : 
Step 1 The
determination of the functionality that the intended application is 
intended to perform.
Step 2 The
creation of test data based on the specifications of the application.
Step 3 The
output based on the test data and the specifications of the application.
Step 4 The
writing of test scenarios and the execution of test cases.
Step 5 The
comparison of actual and expected results based on the executed test cases.
In order to have an effective testing process
all the above steps have to be followed and applied to the testing
policies of every organization for this reason it will make sure that the
organization maintains the strictest of standards when it comes to software
quality.
This part is about testing an application from its non-functional
attributes. Non-functional testing includes testing a software from the
requirements which are nonfunctional.  Performance, Security, User
interface are some requirements examples of non-functional testing. Performance
testing is one important and mandatory testing type in terms of the following: Speed, Capacity, Stability and Scalability. Performance
testing can be either qualitative or quantitative. Security testing includes
testing a software in order to identify any gaps from security.


Security testing should ensure the below list of features: 

Confidentiality, Integrity, Authentication, Availability, Authorization, Non-repudiation, Software
data is secure, Software is according to all security
regulations, Input checking and validation, SQL insertion
attacks, Injection flaws, Session management issues, Cross-site
scripting attacks, Buffer overflows vulnerabilities and Directory
traversal attacks.
The levels of testing are important because in order to meet the functional and technical specifications  we have to follow all the steps and features that I listed above. 

Citation
https://www.tutorialspoint.com/software_testing/software_testing_levels.htm

From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

Levels of testing (Week 8)

There are different levels in a testing  process. Levels of testing include different methodologies which can be used during the process of software testing. There are two main levels of testing : functional testing and non-functional testing. One of my previews posts talks about black-box testing, functional testing is a type of black-box testing which is based on the specifications of the software that has to be tested. The software can be tested by providing input and then the results are examined in order to conform to the functionality which it was meant for. Functional testing of a software is conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements. 
Functional testing includes five steps : 
Step 1 The determination of the functionality that the intended application is intended to perform.
Step 2 The creation of test data based on the specifications of the application.
Step 3 The output based on the test data and the specifications of the application.
Step 4 The writing of test scenarios and the execution of test cases.
Step 5 The comparison of actual and expected results based on the executed test cases.
In order to have an effective testing process all the above steps have to be followed and applied to the testing policies of every organization for this reason it will make sure that the organization maintains the strictest of standards when it comes to software quality. This part is about testing an application from its non-functional attributes. Non-functional testing includes testing a software from the requirements which are nonfunctional.  Performance, Security, User interface are some requirements examples of non-functional testing. Performance testing is one important and mandatory testing type in terms of the following: Speed, Capacity, Stability and Scalability. Performance testing can be either qualitative or quantitative. Security testing includes testing a software in order to identify any gaps from security.


Security testing should ensure the below list of features: 

Confidentiality, Integrity, Authentication, Availability, Authorization, Non-repudiation, Software data is secure, Software is according to all security regulations, Input checking and validation, SQL insertion attacks, Injection flaws, Session management issues, Cross-site scripting attacks, Buffer overflows vulnerabilities and Directory traversal attacks.
The levels of testing are important because in order to meet the functional and technical specifications  we have to follow all the steps and features that I listed above. 

Citation
https://www.tutorialspoint.com/software_testing/software_testing_levels.htm

From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

Don’t Test Methods, Test Behaviors

Testing a method with multiple behaviors with just one test could be dangerous. Since most methods output multiple different behaviors, such as a method that sends an email that displays a notification of what they bought along with a warning of a low balance. If we were to test this method in one test we are not covering both behaviors thoroughly. So we should have two separate test, one that tests the notification and one that tests the low balance.

Testing behaviors ensures all other methods will not be affected by a bug in a behavior. Also whenever a behavior is added to a method, a new test can easily be added without disrupting previous tests.

https://testing.googleblog.com/2014/04/testing-on-toilet-test-behaviors-not.html

From the blog CS@Worcester – Software Testing by kyleottblog and used with permission of the author. All other rights reserved by the author.

Improve Your Writing Skills as a Software Tester

Week 8 Blog Post

This week i decided to read 9 Ways to Quickly Improve Your Writing Skills as a Software Tester by Renuka K.

As a newcomer to the world of software testing this article seemed extremely interesting to me. The article begins by talking about business communication.

Here are a few definitions from the article that are relevant to the overall message of the article.

Communication: “Communication is a two-way mutual process where one person conveys his or her ideas or messages to the other person. The other person then provides feedback.”

Written Communication: “A way to convey your thoughts or messages using written words or symbols. In case of written communication, the medium is anything that supports writing, like Blogs / Reports / Memos or mail.”

Business Communication: “One of the types of written communication happening in organizations. Written or Business communication can be further divided into Formal and Informal Communication.”

Business Communication can be further divided into informal and formal. Informal is communication that is professional in nature but does not need to be formal. An example would be an email to another person in your department.

Formal business communication: “A way of communicating with the help of written records which are official and professional.”

An example of formal communication is Test Documents or an email to a client regarding the Testing or another process. Formal Business communication can be further divided into internal and external. Internal would of course be within the organization while external would be between the testing team and the client. Communication in all of it’s forms is extremely important. An example of why written communication is important for QA engineers begins with writing a resume and ends with all kinds of testing documentation.

Communication skills can have a profound effect on your career in a number of ways. It helps you get a job or promotion, increases trustworthiness, builds confidence, and enhances relationships.

Now that the article has outlined communication and why it is important to a QA engineer, they go through some ways that one can improve your writing skills.

  1. “Always keep in mind the purpose of writing: “

This discusses thinking about what you want your writing to accomplish before you begin writing. Then making sure by the end you achieve these goals through your writing, as well as using diagrams and examples.

2. “Know your Audience”

By knowing your audience you can specifically tailor your writing so that is suits your audience perfectly.

3. “Read Read Read”

Reading is a good way to increase your vocabulary. Reading the types of documents that you will be writing can help you to gather ideas regarding the topic and ways to organize your information.

4. “Formatting your work”

A good format invites readers and gets them interested in what you have written. It organizes information in a way that is easy to read and understand. They suggest the use of graphs and say that you should limit the use of Bold or colored letters.

5. “Keep it simple and easy to understand”

They discuss things such as a logical flow, keeping writing focused, keeping sentences and paragraphs short and clear and using simple words.

6. “Active vs Passive Style”

They suggest using an active voice instead of a passive one. A passive voice can lead to longer sentences and error in the structure of the writing.

7. “Make it grammatically correct”

This seems easy enough however making errors in grammar is very common and can cause a lot of confusion for the reader.

8. “Review and Edit”

This is the most stressed part of any type of writing. Always review and edit your work no matter how small or trivial it may be.

9. “Practice it every day”

With any type of skill practice is the most important thing. In order to get better you need to make it a daily ritual and improve improve daily. Even if you only write a few sentences every day.

Here are a few other articles that i found interesting:

http://curioustester.blogspot.com/2016/10/microinteractions-designing-little_28.html

Attack of the Internet of Things

Mutation Testing in Python

What Scares Testers Most? – The Tester’s Horror Stories (Halloween Special)


From the blog CS@Worcester – Computer Science Journal by jtassone93 and used with permission of the author. All other rights reserved by the author.

Testing in Production

Week 7 Blog

This week i decided to read Testing in Production: A Double-Edged Sword by Rajini Padmanaban.

This article covers what testing in production is, how it is implemented and the benefits of testing in production.

Testing in production involves making sure the functionality and quality of an application holds up in a live environment. This allows a  large number of people to get involved in the testing process besides the testers themselves. It also supports the idea of “Continuous Testing” which is a good thing to have in your process. Of course with a title such as a “double-edged sword” there are some pitfalls associated with this. One of these being that it can be viewed negatively to have bugs reported after release, even though these issues are usually resolved relatively quickly and may not have been caught in a normal testing environment.

There are three large parts to Testing in Production.

“Active and passive monitoring”

“Experimentation with real users”

“Stress tests to monitor system response”

Of course these seem simple however that is not the case at all. Each part is highly complicated and involves more than meets the eye. An example of this is the monitoring of user data. With the data becomes a large security concern that needs to be dealt with. Stress Tests need to be taken seriously as well, if the system were to fail there needs to be a team ready to quickly solve the issue. Social media is a useful source for testing in production as well. The testing team can monitor these forums and be provided with a large amount of useful information to be used in the testing process.

Testing in Production is an important part of any testing process. However it is not an excuse to get lazy and not take the rest of the testing process seriously thinking that Testing in production will catch anything that the tester has missed. It should also not be used as an excuse to speed up the development process, this can cause a variety of issues from user loyalty to test team positioning to suffer in the long run.

Here are some other articles that i found interesting:

Is Your Website Ready for Election Day Traffic?

Come Meet and Learn with SmartBear at APIStrat 2016

http://www.continuousimprover.com/2016/10/principles-for-successful-package.html

https://www.stickyminds.com/better-software-magazine-article/what-cucumber-and-why-should-i-care


From the blog CS@Worcester – Computer Science Journal by jtassone93 and used with permission of the author. All other rights reserved by the author.

Testing IoT Devices

Week 6 Blog Post

This week i decided to read Testing IoT Devices: Key Areas by Pavel Novik.

This article seemed particularly interesting because it discusses an area of software testing that is often overlooked. It talks about devices that are part of the IoT or the internet of things. These include things like your refrigerator, your phone or even your car. Although your phone may be well tested, the software involved with your refrigerator or car may not be and most likely isn’t well tested.

According to the article 68 percent of organizations that have embedded software solutions do not have a software testing strategy. This is a huge deal seeing as we are currently moving towards devices such as self-driving cars, or a stove that can turn on with your cell phone.

There are a few issues regarding the testing of these devices. One such issue is that the company writing the software may not have access to the device or devices on which it will be available, making the testing slightly harder. In this case it is best to find the closest thing that would provide the best testing environment or even provide a list of supported devices.

A large issue with not testing these devices is security. If a device is on your network and not well secured a hacker could use that device to gain access to the rest of the network. Another important thing is to make sure the failure of one network device does not affect the other devices on the network or the network itself. This among Functionality and Compatibility are the three main areas of focus for IoT devices.

Without proper testing of those areas there could be a large number of issues regarding the IoT.

From the blog CS@Worcester – Computer Science Journal by jtassone93 and used with permission of the author. All other rights reserved by the author.