Krendls Ltd testing strategy is to provide high-quality software testing and quality assurance (QA) services to our clients.
We adhere to industry standards, guidelines and "best practices" developed by leading international IT companies and quality assurance
Institutes.
Provided services
- Performance full-cycle of software testing
- Elaboration of test specifications
- Development of test scripts for automatic testing
- Validation and verification of working product
- Review services (such as architecture review and code review)
Target expertise
- Telecommunications
- Embedded, Mobile Hardware Solutions
- Business Solutions
- Information and Corporate Portals
- E-Commerce, Internet Applications, Web Design
Unit Testing
Krendls Ltd provides unit testing development services for the following platforms:
- Java: jUnit 3, jUnit 4
- .Net: NUnit, MbUnit
- PHP: PHPUnit
As for the systems developed by our team we provide 90% unit tests coverage with everyday unit tests work result control.
So on the basis of presented technical specification we can provide 90% and more of unit test coverage for your system.
Developed scripts always correspond to general coding standards and contain a commented code that enables to fulfill scripts
updates on client's side in the future. We also can provide consultations and help in development environment tuning on your
side (code repository adjustment, auto builds adjustment with unit tests and coverage extent control and
identification of code anti patterns)
Advantages: you get a team of professionals experienced in unit tests development, unit test are developed
by an independent team that takes into consideration only technical specification. As a result, qualitative
functionality unit coverage is guaranteed.
Automated Testing
Krendls Ltd provides both testing scripts development and product complex testing using these scripts.
In our everyday practice we extensively use the following testing programs:
The developed scripts always contain comments and additional use manual that gives opportunity to implement
further updates and support them on the client’s side.
Auto testing advantages:
- It’s more economical for long-term projects, especially for regressive testing as it enables to hold a full regressive testing of application in a short time interval.
- Allows to test a bigger volume for a shorter time interval.
- Enables to simulate work with application for a big number of users without involving additional technical base and people.
- Enables to imitate a real work of tested application.
- Enables to expose a testing application to load testing, stress testing and performance testing.
Stress Testing
In addition to automated testing we provide services in stress testing and load testing of web applications.
We possess technical resources that enable to hold applications testing both on client’s equipment (detecting
narrow places in clients’ server configuration before implementing application) and also on our servers.
We provide general and detailed reports on the basis of testing results. They contain diagrams of system
productivity and loading, description of discovered problematic items and recommendations about their elimination.
Security Testing
Krendls staff has a big experience in working at IT industry, it allows to make a qualitative applications
checking for possible vulnerability and provide recommendations for their elimination. Most attention during the
testing is paid to possibility of SQL injection implementation, executing strange harmful code, checking rights of
access not only on UI level but also on the level of business logic, proper usage of encoding algorithms,
correspondence to confidentiality standards, proper admin management of used admin management systems.
On the basis of application specification and clients’ preferences our analysts are developing a test plan
where main application testing directions are described. We provide general and detailed reports based on testing
results. They contain information about variants of attacks of application and their results and also recommendations
on application confidentiality improvement or found vulnerability elimination.
Standalone Application Testing
Krendls Ltd provides the following number of services in standard application testing:
-
Testing of specification – at this stage all inaccuracy and ambiguities can be indicated before starting the development process and they can be eliminated before starting project works.
-
Creation of test plan and QA plan - on the basis of specification and mock-ups test plan and QA plan are created where testing and QA works order are described.
-
Test-cases development - Test-cases development is based on specification and mock-ups. Every test-case describes developing system behavior in a definite situation.
Test-case structure:
-
identification number
-
test-case name
-
short description of test-case
-
steps for reproduction
-
expected result (for each reproduction step)
-
Going through the test-case in the end of application development
-
Regressive testing. Iterative going through test-cases for the whole application in order to identify possible defects in already delivered code after implementation of functionality modification.
-
”Release and acceptance” testing at this stage all test-cases discussed in the test plan “acceptance” test-cases are implemented on client’s side. After successful going through all “acceptance” test-cases the project is accepted by client.
-
Usability & QA testing. Interface system undergoes the analysis for usability and functions availability for users.
Testing process
In work of QA department the following documentation is created:
-
QA plan
-
Test plan
-
Test-design (set of test-cases)
-
Reports for every detected defect (bug)
In order to provide more functionality coverage test cases are created on the bases
of use-cases that are created at the stage of project analysis estimation. Thus test-design
is connected with every requirement of the project. This guarantees 90% of functionality coverage.
After test-plan creation and approval the set of atomized test-cases is developed. Created set of
atomized test-cases is used for every new program version after completing unit tests. This allows
to provide more full regressive testing of every version and to detect their defects at early stages.
Testing is held at all stages of program product development: starting from the testing of specification
and till “acceptance” testing. All indicated defects are registered in defect registration system.
As conclusion, Krendls Ltd can provide the following kinds of testing:
-
Performance Testing - held to prove that present application corresponds to productivity criteria.
-
Stress Testing - this testing is used for identifying stability of the system or its parts. It means testing in excess of normal facilities in order to identify system strength limits.
-
Load Testing - implemented for system usage modeling by the means of users actions simulation when they work with the system simultaneously.
-
Parallel testing - testing of several users work with the same data
-
Regression testing of unchanged functionality - testing of the parts not changed during bugs fixing in order to avoid the damage of functionally dependent parts. Regressive level: positive and negative testing.
-
Positive testing - program testing with the help of data needed for correct program work
-
Negative testing - program testing with the help of data that shouldn't be filled in or filled in with little probability during program work and with bigger probability lead to incorrect system work.