BRAC IT Services Limited (biTS) is an integrated IT solution provider which is an organization of BRAC BANK Limited. It provides integrated automation system which is applicable for any kind of organization.
The Products and Services of biTS can be categorized into two broad sections which are as follows:
Banking Solution and Non-banking Solution where Non-banking solution contains University Automation System, School Automation, ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), POS (Point Of Sales), Data Archiving. biTS Software Testing Team is working continuously with keeping good quality Software towards clients as to achieve the goal with assurance of quality Assessments of a software programs functionality.
Software Testing Team relates to software development with different methodologies like Scrum, Agile and waterfall based on Software need.
Different aspects of Test Strategy of biTS Software Testing Team:
There are many different types of software testing are done by the team. Different Testing techniques are as follows:
Black Box, White Box and Gray Box Testing:
Black Box: Black box test cases, that is designed and run that we do not see the inner workings of the code. Ultimately, system and acceptance cases are intended to be run through the product user interface (UI) to show that the whole product really works. Test automation can be difficult because the developer has no knowledge of the inner workings of the software and because system and acceptance cases must be run through the UI.
White Box: White-box testing is a method of testing software that tests internal structures or workings of an application, as opposed to Black Box functionality. In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases. The tester chooses inputs to exercise paths through the code and determine the appropriate outputs.
Gray Box: Is a combination of white-box testing and black-box testing. The aim of this testing is to search for the defects if any due to improper structure or improper usage of applications.
Functional Testing is the type of testing done against the business requirements of application. It is a black box type of testing. Five steps need to be keeping in mind in the Functional testing:
- Preparation of test data based on the specifications of functions.
- Business requirements are the inputs to functional testing.
- Based on functional specifications find out of output of the functions.
- The execution of test cases.
- Observe the actual and expected outputs.
Different Types of Functional Testing are done by the team. They are as follows:
- Unit testing: Unit testing is a method by which individual units of source codes are tested. Testing Team does it with Developers team as a White Box testing.
- Smoke testing : Initial testing process exercised to check whether the software under test is ready/stable for further testing.
- Sanity testing: After thorough regression testing is over, it is done to make sure that any defect fixes or changes after regression testing does not break the total path way.
- Integration Testing: It is a logical extension of unit testing. In its simplest form, two or units that have already been test endure combined into a component & explicitly tested.
- Interface Testing: Testing of product’s graphical user interface to ensure it meets its written specifications.
- System Testing: A variety of tests on a system to explore functionality or to identify problems
- Regression Testing: Any type of software testing that seeks to uncover new software bugs, or regressions, in existing functional and non-functional areas
- UAT: User Acceptance Testing Services validate end-to-end business process, system transactions and user access, confirms the system or application is functionally fit for use and behaves as expected.
Non Functional Testing:
Non-functional requirements tend to be those that reflect the quality of the product, particularly in the context of the suitability perspective of its users. It can be started after the completion of Functional Testing. Non-functional tests can be effective by using testing tools.
- Availability Testing: System testing of an integrated, black box application against its operational availability requirements. It helps to Underlying defects can be identified, analyzed, fixed, and prevented in the future.
- Compatibility Testing: Ensure compatibility of the system/application/website built with various other objects such as other web browsers, hardware platforms. This type of testing helps find out how well a system performs in a particular environment that includes hardware, network, operating system and other software etc.
- Compliance testing: It is the process of confirming that software applications are following applicable rules and regulations.
- Documentation testing: All documents are tested with User Requirements. We can verify and ensure that a product or system meets its design specifications and other requirements.
- Endurance Testing: Endurance testing usually done to determine if the system can sustain the continuous expected load.
- Interoperability Testing: The main aim of standardization is to enable interoperability in a multi-vendor, multi-network, multi-service environment.
- Installation Testing: It is Installation testing is performed to ensure that all necessary components are installed properly and working as per the requirements.
- Load testing: Load testing is performed to determine a system’s behavior under both normal and anticipated peak load conditions. It helps to identify the maximum operating capacity of an application.
- Maintainability Testing: Basically it’s a technique that how easy it is to analyze, change and test the application or product.
- Performance Testing: Performance testing that is performed, to determine how fast some aspect of a system performs under a particular workload. We use ‘Load Tester’ as a tool.
- Reliability Testing: The purpose of reliability testing is to discover potential problems with the design as early as possible and, ultimately, provide confidence that the system meets its reliability requirements.
- Security testing: A process to determine that an information system protects data and maintains functionality as intended.
- Scalability testing: It tests the ability of a system, a network, or a process to continue to function well, when it is changed in size or volume in order to meet a growing need.
- Stress testing: Software testing activity that determines the robustness of software by testing beyond the limits of normal operation
- Usability testing: this technique is for user-centered interaction design to evaluate a product by testing it on users.
- Volume testing: Volume testing as part of a Load and Performance Test is doing here.
Requirement Stage: In client meetings Testing Team member join the meeting, note down requirements and compare with BRS and SRS which are handed over by Business Analyst Team.
Test Planning: At first understand the requirement & scope of the project Then List down all types of testing which we need to covered under each deliverable. We make a Test Plan and set approximate Time period of testing.
Test Analysis: Test analysis is the process of looking at something that can be used to derive test information. This basis for the tests is called the test basis. We mark all possibilities and Conditions here.
Test Design: Specifying test cases basically test design is the act of creating and writing test suites for testing software.
Test Verification & Construction: We do for Software Verification and Testing track aims at contributing to the challenge by construction development; model-based testing; verification–based testing.
Test Execution: It is an aspect of developing test scripts, reporting and analyzing test results. Different Types of Testing are done here as per Software requirements and fulfill the goal.
Result Analysis: After Test Execution we make different model to show our simulation results presented in this section in different schemes.
Bug Tracking: A bug tracking system or defect tracking system is a software application that is designed to help keep track of reported software bugs in software development and Testing. We use MANTIS Bug Management System to track Software Bugs, errors, defects and assign to the relevant Developers to solve the problem.
Regression Testing: If regression Testing is being to do then Re-Test Design, Test Verification and construction are done. We change Test cases and Test Scripts to check all other effects of previous bugs or defects.
Reporting & Rework: Performance indicators such as on-time completion rework volumes, ratings and comments provide valuable insights to support continuous improvement. Reporting with all release documents of Software Testing are also a part of this section.
Final Testing & Implementation: Final Testing will be done and checked with the presence of the team leaded to assure better software.
Post Implementation: Software testing can be stated as the process of validating and verifying in its Post Implementation interface. They maintain general framework and guidelines to assist our clients and make a User Manual how it can be more easy to our Clients.
Live: After total Completion of Software Program done they arrange to make it Live to the respective Clients.
Software Testing Team’s thought is like, ‘Testers add value at each stage of system development life cycle. It does not matter which development methodology it is. The vigilant tester does not need to seek out these opportunities to add value, each stage of development cycle provides opportunities them.’
Their Moto is that, Testers are invaluable; we just have to stand up and say it. Assertiveness, courage, confidence and creativity are testers’ basic instincts and characteristics, so all of us should make use of them. If confused, we just remember that we must not be paralyzed by confusion; use it as a trigger to investigate!