Web-Services Testing Made Simple

https://www.joecolantonio.com/2017/03/23/rest-test-tool-karate-api-testing/
https://github.com/intuit/karate

Advertisements

Software Testing

https://en.wikipedia.org/wiki/Service_virtualization
Service virtualization

In software engineering, service virtualization is a method to emulate the behavior of specific components in heterogeneous component-based applications such as API-driven applications, cloud-based applications and service-oriented architectures. It is used to provide software development and QA/testing teams access to dependent system components that are needed to exercise an application under test (AUT), but are unavailable or difficult-to-access for development and testing purposes. With the behavior of the dependent components “virtualized”, testing and development can proceed without accessing the actual live components. Service virtualization is recognized by vendors, industry analysts, and industry publications as being different than mocking.[1][2]

—–

https://en.wikipedia.org/wiki/Method_stub
Stubs
A method stub[citation needed] or simply stub[1] in software development is a piece of code used to stand in for some other programming functionality. A stub may simulate the behavior of existing code (such as a procedure on a remote machine, such methods are often called mocks) or be a temporary substitute for yet-to-be-developed code.

—–
https://en.wikipedia.org/wiki/Mock_object
Mock Objects
In object-oriented programming, mock objects are simulated objects that mimic the behavior of real objects in controlled ways. A programmer typically creates a mock object to test the behavior of some other object, in much the same way that a car designer uses a crash test dummy to simulate the dynamic behavior of a human in vehicle impacts.

—-

Time Travel Testing or Time Machine Testing

Going backward or forward in time to test application.

https://www.utest.com/tools/time-machine

——-

https://en.wikipedia.org/wiki/Data_deduplication
Data Deduplication

In computing, data deduplication is a specialized data compression technique for eliminating duplicate copies of repeating data.

——-

Data Deidentification
https://www.hhs.gov/hipaa/for-professionals/privacy/special-topics/de-identification/index.html

When we want to move data from Prod to any other Dev/Test Environments, we need to remove customer sensitive information. This data deduplication process helps to identify and scamble such sensitive data.

——–

Data Scrambling
https://en.wikipedia.org/wiki/Scrambler
In telecommunications, a scrambler is a device that transposes or inverts signals or otherwise encodes a message at the sender’s side to make the message unintelligible at a receiver not equipped with an appropriately set descrambling device.

In Software
We encrypt data before sending it.
The receiver needs to have appropriate keys to decrypt data

——

Others:
https://www.joecolantonio.com/2017/03/23/rest-test-tool-karate-api-testing/
https://github.com/intuit/karate

http://jbehave.org/

Testing with Rational Integration Tester

—–

API Performance Testing / Functional Testing

After so many years…..Still JMeter rocks.
We can use JMeter to perform both functional and performance testing.

Developer can use JUnit/TestNG for unit testing.
Tester can use JMeter to do functional/performance testing.
Also JMeter/Selenium is good combination to do load testing for UI.

Better to integrate JMeter tests with Maven and tie them with continuous integration.
Next question, how to prepare test data?
Use JUnit/TestNG to run JMeter tests. From Java code we can do setup and teardown steps.
Also we can commit JMeter scripts, hence easy to maintain versioning.
Also we need to commit test data.

We can tie performance numbers with TestNG/JUnit and we can fail test cases.

Generate reports/dashboards from JMeter through command line.
Publish them periodically with date prefix.

At this time there is no ready to use tutorial or framework for this.
But somebody good at Java/TestNG/JUnit/JMeter/Selenium can help.

Few Links for your reference:
http://seleniummaster.com/sitecontent/index.php/performance-test-menu/selenium-load-test-menu/171-selenium-testng-load-testing
http://testng.org/doc/selenium.html

Commercial Versions:
https://www.microfocus.com/products/silk-portfolio/silk-test/features/
Load Runner
http://jmeter.apache.org/
https://hiromia.blogspot.com/2016/07/how-to-run-jmeter-load-testing-script.html
http://jmeter.apache.org/usermanual/generating-dashboard.html
JMeter performance monitoring remote JVM: https://jmeter-plugins.org/wiki/PerfMon/
Remote testing or scaling JMeter: http://jmeter.apache.org/usermanual/remote-test.html

Comments:
http://gatling.io/
Better to stay away from open source from commercial products. They are giving base version free and we need to buy commercial support or version for more features.

THE DHS TRUSTED TESTER PROGRAM (TT)

https://www.dhs.gov/sites/default/files/publications/Trusted_Tester_Fact_Sheet_0.pdf

https://www.dhs.gov/accessibility

————-

http://www.freedomscientific.com/Products/Blindness/JAWS

The World’s Most Popular Windows Screen Reader
JAWS, Job Access With Speech, is the world’s most popular screen reader, developed for computer users whose vision loss prevents them from seeing screen content or navigating with a mouse. JAWS provides speech and Braille output for the most popular computer applications on your PC.

—————–
https://polimetla.com/2015/11/23/section-508-and-vpat/

Software Architecture – Durability

B17 battle damage this plane flew home in this condition to it’s base the 92nd Bomb Group Podington

Open in youtube and read comments on this video.

Many software applications crash within few hours of first usage in real time production.

Software Architects should learn a lot from this flight architects.

Hats off to them.
God Bless America.