Tuesday, November 29, 2016

Apache jMeter testing (WEEK 9)

Apache jMeter is a open source software desktop application and is designed with java. This application is built to measure and test performance of websites. First the jMeter was designed to test web applications but has expanded to other types of test functions. We can use Aphach jMeter to test performance on dynamic and static resources like web dynamic applications. By using jMeter we can stimulate a heavy load on group of servers or  network or objects to test its strength. Also jMeter can be used recode fast test plan from browsers, native applications and it can be used to build and perform debugging. 

Here I'm listing some features of Apache JMeter: 
Ability to load and performance test many different applications, server, protocol types:
  • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET)
  • Java Objects
  • LDAP
  • SOAP / REST Webservices
  • FTP
  • Database via JDBC
  • Native commands or shell scripts
  • TCP
JMeter is very flexible to create test plan without going through the GUI, we can a test script with pure java. There are two important classes StandardJMeterEngine and HashTree. The first class is the main class which configures the Test Plan and executes it, the second class is the collection that holds the test plan elements which is required to run the test. If you want to learn more visit this website which explain the steps of testing with JMeter https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui

Monday, November 14, 2016

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

Saturday, November 5, 2016

Can test automation replace human testers (Week 7)

This article lists the pros and cons for test automation  and human testers.  This days the IT managers and directors are in dilemma because they have to decide what is better for their department to use for software testing the automated testing or the manual testing. Do they have to hire a team of software testers or would they be better using automated testing? These strategies have big difference. Both these strategies have pros and cons here are some:

Automated Testing

Pros: The main advantage of using automated testing is the speed, IT managers can use this strategy to test the code faster then manual testing and also they can re-use the automated testing tool many times that they need. Automated testing can be used ion different operating systems. It is very effective for build verification and testing.

Cons: A down side of automation testing is not helpful with UI testing, it can not be trusted all the time also it has high initial cost of tools.

Manual Testing

Pros: Manual Testing is the testing of software for bugs in the software system. Testers execute test cases without using any automation tools. Lets talk about some of the pros, companies that can't afford automated test tools can use testers to write and execute test cases, this strategy is flexible compared to automation testing.

Cons: Manual testing can be very slow compared to automation testing. The tester have to be engaged 100% with the software and has to know the structure of it. If the tester don't know the structure of the software can be a high chance of missing out on some bugs.

Citation
http://www.thinksys.com/can-test-automation-replace-human-testers.shtml