Recapitulation:
In article 2 we had discussed about fundamentals of messaging model and synchronous vs asynchronous message handling technique by subscriber/consumer. What are the basic questionnaire stake holders can think about before deciding on production movement
Performance testing requirement meet-up:
When a performance tester meets business for testing their requirement ,its like meeting of two Vagabonds where each one knows what is suppose to be done but not aware about each other. In the initial meeting business talk more about functionality and asks performance tester whats the approach of testing their stack.A performance tester in turn ask stake holders ” Can you share the logical and physical diagram“.which means performance tester is asking architecture diagram and also sequence flow diagram. Performance tester then analyzes architecture and provides the approach of how to test End-to-End architecture or each attached Component level through various performance testing criteria’s.
In this article assumption is that we need to test a messaging stack which can have multi-tier (homogeneous level or heterogeneous combinations)
Needs of messaging:
Lets take-a-fake generic(dummy architecture) , and proceed forward towards understanding need and approach of performances testing Messaging stack.lets take an airline domain where in the core repository system is called flight information system. the core repository gets updated by various flight level information such as.Lets take a flight which can have typically below information.
- when is the flight scheduled to arrive or depart
- what is the estimated arrival time
- what is the real arrival time
- whats the estimated departure time
- what is the real departure time
- which gate was it suppose to come
- which gate it came
- was there any deviation or diversion in the designated path.
- was there any equipment changed
- whats the baggage status and count /deviation,flight cancellation,Pnr,ticket information etc
As result of all these information, millions of messages gets generated through applications running on airport,flight. these information needs to be handy in real time basis to n number of consuming applications for their own purposes.few of them are
- The customer facing applications should have real time data
- Agent side applications should also have real time data
- The Orchestrated SOA layer should also be receiving same real data without delay
- The stored procedure and triggers running at database layers also needs real time data to respond with accuracy
- The single-sign LDAP based system that relates to the Flight information also needs to in sync
- Other partner Airlines systems should also receive the real time feed at the same time
Above mentioned facts generates the need of a system through which any legacy or new format of information can pass through , can be understood by end consuming system and meet the purpose.Messaging through queue/pipe mechanism stood one of the best faster method of message transferring
Message testing Kick off :
Lets observe typical process and entry point of non functional .Typically on high level below are the lifcycle steps
- Business gives the message prorcess requirement to Developer
- Developer writes the code and does the unit level testing
- Business calls the QA ( functional QA and Nonfunctional QA for requirement gathering)
- Functional testing team gathers detailed information so that the test cases can be written at a best possible granular level so that best of best coverage can be provided.
- Performance testing team would gather the most critical business cases so that they can visualize the scripting needs or visualize the need to of end-to-end/component level test.
- Functional testing team starts executing , non functional team starts preparing data,scripts for non functional test,setup monitors to gather metrics.
- Once functional testing team certifies 80-85% success rate , its assumed that it covers all the business critical test cases has been passed.
- Here is the point ,when functional testing team signs off on 80-85% performance testing team picks up for various performance tests
- For a new stack if SLA is available , performance testing team would perform smoke test,load test,stress test,spike test,scalability test,failover and fallback test,long term endurance sustenance test