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.
A method stub or simply stub 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.
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.
In computing, data deduplication is a specialized data compression technique for eliminating duplicate copies of repeating data.
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.
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.
We encrypt data before sending it.
The receiver needs to have appropriate keys to decrypt data
Testing with Rational Integration Tester
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:
JMeter performance monitoring remote JVM: https://jmeter-plugins.org/wiki/PerfMon/
Remote testing or scaling JMeter: http://jmeter.apache.org/usermanual/remote-test.html
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 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.
Now apply these principals in Software Architecture.
Think of the gunner.
Wow…amazing feeling and hats off to these architects.
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.
I appreciate their courage to prove the facts.
I liked following comments:
The aircraft would have sank, but the engineers stuffed ping pong balls into the wings to keep it afloat. Merrill and Richman, in their 1936 transatlantic crossing flying a modified Vultee V1A, Richman loaded the wings and fuselage with 41,000 ping pong balls encase they had to ditch. Now known as the PING PONG FLIGHT.
Appreciating their planning and execution.
See the test site selection…
1. Understand Business Requirements
2. Prepare Test Strategy Document
3. Prepare Test Planning Document
4. Write Test Cases (Calculate total permutations / combinations)
5. Optimize Test Cases / Test Data
6. Identify Environments
7. Execute testing
8. Automate repetitive testing in different environments for different release cycles
9. Identify repetitive defects and perform postmartam. Device plan to prevent future defects
a) Improving domain knowledge (Developers / QA)
b) Recheck all above steps and improve the quality of tests
10. Close Testing Project
People come to Software field for different reasons…irrespective of it…
1. Love your job
2. Improve your skills
3. Contribute your best and enjoy the job
Difference Between Test Plan and Test Strategy
Test Strategy Document
We see issues in software everyday.
This process helps to identify the issue/defect quickly and systematically, instead of wasting time on wrong things.
Assume that “Environment A” is Troubled environment, “Environment B” is functioning as expected.
0. Check latest code changes and do code review, if code is small
1. env A…point to Env B Database…
If it works,…db problem in Env A
if it fails, ….issue is in Env A application side
2. Copy Env B binaries to Env A, point to env A database
If it works, code problem in Env A
else issue in Env A Database
3. compare A, B Schema, Data, …etc
4. Compare A, B properties
5. point local system to env A DB and check…
if you can simulate the issue, debug the code
6. Isolate problem with Unit Test and solve
Contact me if you need any help.